1. Win98 look & feel / removing manifest file effects
- Posted by petelomax Mar 11, 2011
- 1792 views
I haven't run Edita's Window Painter in anger for quite some time, since moving onto XP in fact. Only to find I couldn't select/drag/resize anything...
At first I thought this was something to do with a manifest file, but I ran it on 2.4 and got the same effect. I also thought it may be something like calling InitCommonControlsEx in Arwen, but I couldn't find that. Eventually I got it going by right-clicking on exw.exe (2.4), properties, disable visual themes.
My question is how might I do that from within Edita/CreateProcess, ie run with visual themes disabled?
Pete
2. Re: Win98 look & feel / removing manifest file effects
- Posted by SDPringle Mar 12, 2011
- 1685 views
The affects are the problems found and described in ticket 616 no longer appear. I haven't heard any thing specific about negative effects. As far as I know, there aren't any.
3. Re: Win98 look & feel / removing manifest file effects
- Posted by mattlewis (admin) Mar 12, 2011
- 1697 views
The affects are the problems found and described in ticket 616 no longer appear. I haven't heard any thing specific about negative effects. As far as I know, there aren't any.
Um...what?
4. Re: Win98 look & feel / removing manifest file effects
- Posted by mattlewis (admin) Mar 12, 2011
- 1757 views
I haven't run Edita's Window Painter in anger for quite some time, since moving onto XP in fact. Only to find I couldn't select/drag/resize anything...
At first I thought this was something to do with a manifest file, but I ran it on 2.4 and got the same effect. I also thought it may be something like calling InitCommonControlsEx in Arwen, but I couldn't find that. Eventually I got it going by right-clicking on exw.exe (2.4), properties, disable visual themes.
My question is how might I do that from within Edita/CreateProcess, ie run with visual themes disabled?
Take a look at Causing the UxTheme Manager to Ignore Top Level Windows, and in particular, SetThemeAppProperties.
In the interest of debugging, does the issue persist if you translate the code? The translator does not (currently) compile the manifest, so you get a non-themed executable.
Matt
5. Re: Win98 look & feel / removing manifest file effects
- Posted by DerekParnell (admin) Mar 12, 2011
- 1713 views
The affects are the problems found and described in ticket 616 no longer appear. I haven't heard any thing specific about negative effects. As far as I know, there aren't any.
I'm not sure that's coming across correctly.
Are you saying that AFTER your changes to remove the manifest file, the Win32lib example program seems to work okay on WinXP? If so, I don't think anyone is doubting that but the problem is that XP users probably want to be able to use manifest files.
6. Re: Win98 look & feel / removing manifest file effects
- Posted by mattlewis (admin) Mar 12, 2011
- 1992 views
Take a look at Causing the UxTheme Manager to Ignore Top Level Windows, and in particular, SetThemeAppProperties.
In the interest of debugging, does the issue persist if you translate the code? The translator does not (currently) compile the manifest, so you get a non-themed executable.
I played around a little with this function and the example program from ticket:616. In win32lib, at least, it looks like it's necessary to send the WM_THEMECHANGED message to all of the controls. It doesn't seem to propagate to children automatically. The de-theming definitely works for me (on XP), although it didn't solve the issue brought up in the ticket.
include win32lib.ew constant Win1 = create(Window,"Strange",0,Default,Default,400,400,0), TabCtl = create(TabControl,"",Win1,5,5,380,355,0), Tab1 = create(TabItem,"First",TabCtl,0,0,0,0,0), Label1 = create(CText,"Nothing important",Tab1,10,30,360,25,0), Cbox1 = create(Combo,"",Tab1,20,80,250,100,0), StyleButton = create( Button, "Change Style", Tab1, 20, 100, 90, 30, 0 ), $ include std/dll.e include std/machine.e constant UXTHEME = open_dll("UxTheme.dll"), xSetThemeAppProperties = define_c_proc( UXTHEME, "SetThemeAppProperties", { C_INT } ) addItem( Cbox1, "foo") integer theme = 3 constant WM_THEMECHANGED = 0x031A procedure StyleButton_onClick(integer self, integer event, sequence parms) theme = 3 - theme c_proc( xSetThemeAppProperties, { theme } ) sendMessage( Win1, WM_THEMECHANGED, 0, 0 ) sendMessage( TabCtl, WM_THEMECHANGED, 0, 0 ) sendMessage( Label1, WM_THEMECHANGED, 0, 0 ) sendMessage( Cbox1, WM_THEMECHANGED, 0, 0 ) sendMessage( StyleButton, WM_THEMECHANGED, 0, 0 ) end procedure setHandler( StyleButton, w32HClick, routine_id("StyleButton_onClick")) WinMain(Win1,Normal)
Matt
7. Re: Win98 look & feel / removing manifest file effects
- Posted by petelomax Mar 12, 2011
- 1676 views
Take a look at Causing the UxTheme Manager to Ignore Top Level Windows, and in particular, SetThemeAppProperties.
Thanks, that looks like exactly what I was after...
In the interest of debugging, does the issue persist if you translate the code? The translator does not (currently) compile the manifest, so you get a non-themed executable.
... however, in the meantime I tried EnableTheming(0), which did some kind of system-wide reset that EnableTheming(1) did not restore. I managed to get themes back by right-clicking on the desktop and modifying properties - and by some miracle the original issue has gone away. I'll keep an eye on it and see if it happens again.
Regards,
Pete
PS: I don't think this has anything to do with ticket 616 - everything "worked" fine, but I thought one particular app needed themes switched off, but as it stands apparently not.
8. Re: Win98 look & feel / removing manifest file effects
- Posted by mattlewis (admin) Mar 12, 2011
- 1637 views
PS: I don't think this has anything to do with ticket 616 - everything "worked" fine, but I thought one particular app needed themes switched off, but as it stands apparently not.
Yes, the control drawing seems to be a Win32Lib issue. The same code, ported to wxEuphoria, looks fine.
Matt
9. Re: Win98 look & feel / removing manifest file effects
- Posted by petelomax Mar 12, 2011
- 1617 views
Yes, the control drawing seems to be a Win32Lib issue. The same code, ported to wxEuphoria, looks fine.
Looks fine on Arwen too, except the border never goes back.
10. Re: Win98 look & feel / removing manifest file effects
- Posted by SDPringle Mar 12, 2011
- 1612 views
Not exactly. It runs without problems on Windows Vista. I stopped using Windows XP for development of EUPHORIA.