2003-08-07 04:16:26 -04:00
|
|
|
Microsoft Windows XP Support from wxWindows
|
|
|
|
-------------------------------------------
|
2001-12-09 07:56:28 -05:00
|
|
|
|
|
|
|
Windows XP introduces the themes (called "visual styles" in the Microsoft
|
|
|
|
documentation) in Windows world. As wxWindows uses the standard Windows
|
|
|
|
controls for most of its classes, it can take advantage of it without
|
|
|
|
(almost) any effort from your part. The only thing you need to do if you
|
|
|
|
want your program to honour the visual style setting of Windows XP is to
|
|
|
|
add the manifest file to your program (this is not at all specific to
|
|
|
|
wxWindows programs but is required for all Windows applications).
|
|
|
|
|
2003-08-07 04:16:26 -04:00
|
|
|
wxWindows now includes manifest resources in wx.rc, so it should be enough to
|
|
|
|
include "wx/msw/wx.rc" in your application's resource file and you get
|
|
|
|
XP look automatically. If it doesn't work, follow the instructions below:
|
2001-12-09 07:56:28 -05:00
|
|
|
|
2002-06-07 16:15:28 -04:00
|
|
|
For your convenience, below is an example manifest. It should be put in a
|
2001-12-09 07:56:28 -05:00
|
|
|
file called "yourapp.exe.manifest" and put in the same directory where
|
|
|
|
"yourapp.exe" resides. Alternatively, you can include the manifest in your
|
|
|
|
applications resource section. Please see the MSDN documentation at
|
|
|
|
|
|
|
|
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/xptheming.asp
|
|
|
|
|
|
|
|
for more details.
|
|
|
|
|
|
|
|
Here is the example manifest which you can put into controls.exe.manifest
|
|
|
|
file to test theme support using the controls sample:
|
|
|
|
|
|
|
|
--- cut here ---
|
|
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
|
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
|
|
|
<assemblyIdentity
|
|
|
|
version="0.64.1.0"
|
|
|
|
processorArchitecture="x86"
|
|
|
|
name="Controls"
|
|
|
|
type="win32"
|
|
|
|
/>
|
|
|
|
<description>Controls: wxWindows sample application</description>
|
|
|
|
<dependency>
|
|
|
|
<dependentAssembly>
|
|
|
|
<assemblyIdentity
|
|
|
|
type="win32"
|
|
|
|
name="Microsoft.Windows.Common-Controls"
|
|
|
|
version="6.0.0.0"
|
|
|
|
processorArchitecture="X86"
|
|
|
|
publicKeyToken="6595b64144ccf1df"
|
|
|
|
language="*"
|
|
|
|
/>
|
|
|
|
</dependentAssembly>
|
|
|
|
</dependency>
|
|
|
|
</assembly>
|
|
|
|
--- cut here ---
|
|
|
|
|
|
|
|
|
|
|
|
There are a few minor problems with theme support in wxWindows currently
|
|
|
|
which will be fixed in the next releases:
|
|
|
|
|
|
|
|
- the buttons with non-default colours are owner-drawn and thus don't
|
|
|
|
follow the visual style look but always have the default 3D look of
|
|
|
|
the previous Windows versions - don't change the buttons colours if
|
|
|
|
you want them to look nicely under Windows XP
|
|
|
|
|
|
|
|
- wxCheckListBox control doesn't have the same appearance as the native
|
|
|
|
checkboxes in Windows XP
|
|
|
|
|