Mercurial > projects > dwt-win
annotate README.txt @ 188:03f179597782
Make WinXP themes work with windows resources
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 15 Mar 2008 00:33:19 +0100 |
parents | e0ea5a76da07 |
children | f9012ceeafea |
rev | line source |
---|---|
58 | 1 |
2 DWT-Win | |
3 ======= | |
4 | |
5 Requirements: | |
6 ============= | |
176 | 7 Buildtool : DSSS 0.75 |
8 Compiler : DMD 1.027 | |
9 D Lib : Tango release 0.99.5 | |
99
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
10 Import libs |
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
11 |
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
12 Import libs: |
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
13 ============ |
102 | 14 To link everything you need the import libs. |
15 They are not included in the source repository, please use this archive | |
99
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
16 |
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
17 http://downloads.dsource.org/projects/dwt-linux/dwt-win-libs.zip |
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
18 |
873874015a62
Explanation where to get the import libs
Frank Benoit <benoit@tionex.de>
parents:
78
diff
changeset
|
19 They don't contain any DWT code, only the import libraries to link to the windows system DLLs. |
58 | 20 |
21 | |
22 Building with dsss | |
23 =================== | |
24 Per default dsss has the option 'oneatatime' enable. | |
25 This make dsss to compile one file at a time and building dwt take longer than 15 min. | |
26 Disable this option in the dsss/etc/rebuild/dmd-win-tango file. | |
27 Search for it (2 matches) and either delete those lines of change =on to =off. | |
28 | |
157
f8001bf383d2
TextLayout allow null for setText
Frank Benoit <benoit@tionex.de>
parents:
148
diff
changeset
|
29 In some situations, you may get linker errors when building the dwt examples. |
148 | 30 Try adding the "-full" switch to the dsss command line to fix these errors. |
31 | |
32 Example: | |
33 | |
157
f8001bf383d2
TextLayout allow null for setText
Frank Benoit <benoit@tionex.de>
parents:
148
diff
changeset
|
34 dsss build -full simple |
148 | 35 |
100
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
36 Subsystem linker option |
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
37 ======================= |
102 | 38 For dmd linker 'optlink' there is the option SUBSYSTEM which defines if the executable |
100
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
39 shall be a console or windows application and the minimum required windows version (4=win95,5=win2000,6=vista) |
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
40 -L/SUBSYSTEM:windows:5 |
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
41 Without this option, DWT renderes some controls not correctly. Eg. table headers are not shown. |
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
42 |
188
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
43 |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
44 WinXP Theming and Controls |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
45 ========================== |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
46 With WinXP it is required to make windows use a manifest. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
47 There are several ways to make this manifest available. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
48 1.) Place the manifest file in the same directory where the .exe is. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
49 E.g. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
50 application.exe |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
51 application.exe.manifest |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
52 2.) Link the content of the manifest to the application as a windows resource. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
53 3.) Have another program that uses resource injection to put the manifest into the application |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
54 4.) Let the application write the manifest to a an external file and load it. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
55 This had problems in the past, some applications on some machines did not load images. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
56 |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
57 1. .. 3.) Seems to work reliable. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
58 |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
59 * Using 2. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
60 compile the dwt.rc/dwt.exe.manifest files with rcc.exe from the digitalmars to create the dwt.res. |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
61 rcc dwt.rc |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
62 link the resulting dwt.res with the -L/rc:dwt.res |
03f179597782
Make WinXP themes work with windows resources
Frank Benoit <benoit@tionex.de>
parents:
176
diff
changeset
|
63 |
129
18ca5d3c6dfc
Chg to SWT: Allow MessageBox without parent, when instantiated over special ctor.
Frank Benoit <benoit@tionex.de>
parents:
102
diff
changeset
|
64 Changes/Additions to SWT |
18ca5d3c6dfc
Chg to SWT: Allow MessageBox without parent, when instantiated over special ctor.
Frank Benoit <benoit@tionex.de>
parents:
102
diff
changeset
|
65 ======================== |
18ca5d3c6dfc
Chg to SWT: Allow MessageBox without parent, when instantiated over special ctor.
Frank Benoit <benoit@tionex.de>
parents:
102
diff
changeset
|
66 o MessageBox can be instantiated without parent. Use the Ctor "this( int style )", |
18ca5d3c6dfc
Chg to SWT: Allow MessageBox without parent, when instantiated over special ctor.
Frank Benoit <benoit@tionex.de>
parents:
102
diff
changeset
|
67 calling the other ctors will still force a non-null parent. |
157
f8001bf383d2
TextLayout allow null for setText
Frank Benoit <benoit@tionex.de>
parents:
148
diff
changeset
|
68 o Allow null argument for |
f8001bf383d2
TextLayout allow null for setText
Frank Benoit <benoit@tionex.de>
parents:
148
diff
changeset
|
69 - dwt.graphics.TextLayout setText(char[]) |
100
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
70 |
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
71 |
8e89c07402e9
Describe subsystem linker switch
Frank Benoit <benoit@tionex.de>
parents:
99
diff
changeset
|
72 |