diff options
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/inc/thmutil.h')
-rw-r--r-- | src/libs/dutil/WixToolset.DUtil/inc/thmutil.h | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h index 6ac3711f..dc554219 100644 --- a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h +++ b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h | |||
@@ -95,6 +95,15 @@ typedef enum THEME_WINDOW_INITIAL_POSITION | |||
95 | THEME_WINDOW_INITIAL_POSITION_CENTER_MONITOR_FROM_COORDINATES, | 95 | THEME_WINDOW_INITIAL_POSITION_CENTER_MONITOR_FROM_COORDINATES, |
96 | } THEME_WINDOW_INITIAL_POSITION; | 96 | } THEME_WINDOW_INITIAL_POSITION; |
97 | 97 | ||
98 | // These messages are sent by thmutil to the parent window created in ThemeCreateParentWindow. | ||
99 | // thmutil reserves the last values of WM_USER's range. | ||
100 | typedef enum _WM_THMUTIL | ||
101 | { | ||
102 | // Sent while creating a control. | ||
103 | // wparam is THEME_LOADINGCONTROL_ARGS* and lparam is THEME_LOADINGCONTROL_RESULTS*. | ||
104 | // Return code is TRUE if it was processed. | ||
105 | WM_THMUTIL_LOADING_CONTROL = WM_APP - 1, | ||
106 | } WM_THMUTIL; | ||
98 | 107 | ||
99 | struct THEME_COLUMN | 108 | struct THEME_COLUMN |
100 | { | 109 | { |
@@ -171,7 +180,7 @@ struct THEME_ASSIGN_CONTROL_ID | |||
171 | LPCWSTR wzName; // name of control to match | 180 | LPCWSTR wzName; // name of control to match |
172 | }; | 181 | }; |
173 | 182 | ||
174 | const DWORD THEME_FIRST_ASSIGN_CONTROL_ID = 1024; // Recommended first control id to be assigned. | 183 | const WORD THEME_FIRST_ASSIGN_CONTROL_ID = 0x4000; // Recommended first control id to be assigned. |
175 | 184 | ||
176 | struct THEME_CONTROL | 185 | struct THEME_CONTROL |
177 | { | 186 | { |
@@ -325,7 +334,7 @@ struct THEME_FONT | |||
325 | 334 | ||
326 | struct THEME | 335 | struct THEME |
327 | { | 336 | { |
328 | WORD wId; | 337 | WORD wNextControlId; |
329 | 338 | ||
330 | BOOL fAutoResize; | 339 | BOOL fAutoResize; |
331 | BOOL fForceResize; | 340 | BOOL fForceResize; |
@@ -388,6 +397,24 @@ struct THEME | |||
388 | LPVOID pvVariableContext; | 397 | LPVOID pvVariableContext; |
389 | }; | 398 | }; |
390 | 399 | ||
400 | typedef struct _THEME_LOADINGCONTROL_ARGS | ||
401 | { | ||
402 | DWORD cbSize; | ||
403 | const THEME_CONTROL* pThemeControl; | ||
404 | } THEME_LOADINGCONTROL_ARGS; | ||
405 | |||
406 | typedef struct _THEME_LOADINGCONTROL_RESULTS | ||
407 | { | ||
408 | DWORD cbSize; | ||
409 | HRESULT hr; | ||
410 | |||
411 | // Used to apply a specific id to the control (usually used for WM_COMMAND). | ||
412 | // If assigning an id, it is recommended to start with THEME_FIRST_ASSIGN_CONTROL_ID to avoid collisions with well known ids such as IDOK and IDCANCEL. | ||
413 | // The values [100, THEME_FIRST_ASSIGN_CONTROL_ID) are reserved for thmutil. | ||
414 | // Due to this value being packed into 16 bits for many system window messages, this is restricted to a WORD. | ||
415 | WORD wId; | ||
416 | } THEME_LOADINGCONTROL_RESULTS; | ||
417 | |||
391 | 418 | ||
392 | /******************************************************************** | 419 | /******************************************************************** |
393 | ThemeInitialize - initialized theme management. | 420 | ThemeInitialize - initialized theme management. |
@@ -472,9 +499,7 @@ HRESULT DAPI ThemeCreateParentWindow( | |||
472 | 499 | ||
473 | *******************************************************************/ | 500 | *******************************************************************/ |
474 | HRESULT DAPI ThemeLoadControls( | 501 | HRESULT DAPI ThemeLoadControls( |
475 | __in THEME* pTheme, | 502 | __in THEME* pTheme |
476 | __in_ecount_opt(cAssignControlIds) const THEME_ASSIGN_CONTROL_ID* rgAssignControlIds, | ||
477 | __in DWORD cAssignControlIds | ||
478 | ); | 503 | ); |
479 | 504 | ||
480 | /******************************************************************** | 505 | /******************************************************************** |