]>
Commit | Line | Data |
---|---|---|
1 | Microsoft Windows XP Support from wxWidgets | |
2 | ------------------------------------------- | |
3 | ||
4 | Windows XP introduces the themes (called "visual styles" in the Microsoft | |
5 | documentation) in Windows world. As wxWidgets uses the standard Windows | |
6 | controls for most of its classes, it can take advantage of it without | |
7 | (almost) any effort from your part. The only thing you need to do if you | |
8 | want your program to honour the visual style setting of Windows XP is to | |
9 | add the manifest file to your program (this is not at all specific to | |
10 | wxWidgets programs but is required for all Windows applications). | |
11 | ||
12 | wxWidgets now includes manifest resources in wx.rc, so it should be enough to | |
13 | include "wx/msw/wx.rc" in your application's resource file and you get | |
14 | XP look automatically. If it doesn't work, follow the instructions below: | |
15 | ||
16 | For your convenience, below is an example manifest. It should be put in a | |
17 | file called "yourapp.exe.manifest" and put in the same directory where | |
18 | "yourapp.exe" resides. Alternatively, you can include the manifest in your | |
19 | applications resource section. Please see the MSDN documentation at | |
20 | ||
21 | http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/xptheming.asp | |
22 | ||
23 | for more details. | |
24 | ||
25 | Here is the example manifest which you can put into controls.exe.manifest | |
26 | file to test theme support using the controls sample: | |
27 | ||
28 | --- cut here --- | |
29 | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |
30 | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> | |
31 | <assemblyIdentity | |
32 | version="0.64.1.0" | |
33 | processorArchitecture="x86" | |
34 | name="Controls" | |
35 | type="win32" | |
36 | /> | |
37 | <description>Controls: wxWidgets sample application</description> | |
38 | <dependency> | |
39 | <dependentAssembly> | |
40 | <assemblyIdentity | |
41 | type="win32" | |
42 | name="Microsoft.Windows.Common-Controls" | |
43 | version="6.0.0.0" | |
44 | processorArchitecture="X86" | |
45 | publicKeyToken="6595b64144ccf1df" | |
46 | language="*" | |
47 | /> | |
48 | </dependentAssembly> | |
49 | </dependency> | |
50 | </assembly> | |
51 | --- cut here --- | |
52 | ||
53 | ||
54 | There are a few minor problems with theme support in wxWidgets currently | |
55 | which will be fixed in the next releases: | |
56 | ||
57 | - the buttons with non-default colours are owner-drawn and thus don't | |
58 | follow the visual style look but always have the default 3D look of | |
59 | the previous Windows versions - don't change the buttons colours if | |
60 | you want them to look nicely under Windows XP | |
61 | ||
62 | - wxCheckListBox control doesn't have the same appearance as the native | |
63 | checkboxes in Windows XP | |
64 |