Re: pythoncard + py2exe: gauge component rendering wrong

Neil Hughes <[email protected]> Tue, 10 Mar 2009 08:39:19 +0000
Newsgroups gmane.comp.python.pythoncard
Organization Support4Omega Ltd.
Message-ID <[email protected]>
On Mon, 9 Mar 2009 15:28:19 -0700 Morgan Venable <[email protected]>
wrote:

> Unfortunately no, this has been on the back burner for me :)
> 
> Hopefully I'll get back to it soon...
> 
> On Mon, Mar 9, 2009 at 3:06 PM, Neil Hughes
> <[email protected]> wrote:
> > Did you manage to sort this problem out?

It sounds like a common controls DLL/manifest issue. By default XP
applications look like Windows 2000 and don't use the newer XP theme
(Luna?) unless you build a manifest into them or load an external
manifest at runtime with the instructions to use the new v6 common
controls.

If the gauge looks OK when you run it as a script, it's probably
because of the python.exe.manifest/pythonw.exe.manifest files that
wxPython places in the Python runtime directory, e.g. C:\Python25.
The manifest gets loaded when python.exe/pythonw.exe is run and the GUI
gains the new look.

When you run an application built with py2exe, python.exe/pythonw.exe
are not used so the application reverts to the Windows 2000 look. It
sounds like that's what you're seeing, with some weird transparency
issues due to the old controls.

Two things to try:
1) move python.exe.manifest/pythonw.exe.manifest out of the Python
directory (if they're there) and see what happens when you run your
script from the codeEditor/command line. It should revert to the
'old' look. Oh...don't forget to copy the files back;

2) copy python.exe.manifest into your py2exe dist folder containing the
EXE you have build, and rename it to match the executable name, e.g.
wibble.exe.manifest. When you double click to run the application, does
it gain the proper XP look?

-- 
Neil Hughes

------------------------------------------------------------------------------