SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
SDL_windowstaskdialog.h
Go to the documentation of this file.
1
/*
2
Simple DirectMedia Layer
3
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
5
This software is provided 'as-is', without any express or implied
6
warranty. In no event will the authors be held liable for any damages
7
arising from the use of this software.
8
9
Permission is granted to anyone to use this software for any purpose,
10
including commercial applications, and to alter it and redistribute it
11
freely, subject to the following restrictions:
12
13
1. The origin of this software must not be misrepresented; you must not
14
claim that you wrote the original software. If you use this software
15
in a product, an acknowledgment in the product documentation would be
16
appreciated but is not required.
17
2. Altered source versions must be plainly marked as such, and must not be
18
misrepresented as being the original software.
19
3. This notice may not be removed or altered from any source distribution.
20
*/
21
#include <pshpack1.h>
22
23
typedef
HRESULT(CALLBACK *
PFTASKDIALOGCALLBACK
)(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, LONG_PTR lpRefData);
24
25
enum
_TASKDIALOG_FLAGS
26
{
27
TDF_ENABLE_HYPERLINKS
= 0x0001,
28
TDF_USE_HICON_MAIN
= 0x0002,
29
TDF_USE_HICON_FOOTER
= 0x0004,
30
TDF_ALLOW_DIALOG_CANCELLATION
= 0x0008,
31
TDF_USE_COMMAND_LINKS
= 0x0010,
32
TDF_USE_COMMAND_LINKS_NO_ICON
= 0x0020,
33
TDF_EXPAND_FOOTER_AREA
= 0x0040,
34
TDF_EXPANDED_BY_DEFAULT
= 0x0080,
35
TDF_VERIFICATION_FLAG_CHECKED
= 0x0100,
36
TDF_SHOW_PROGRESS_BAR
= 0x0200,
37
TDF_SHOW_MARQUEE_PROGRESS_BAR
= 0x0400,
38
TDF_CALLBACK_TIMER
= 0x0800,
39
TDF_POSITION_RELATIVE_TO_WINDOW
= 0x1000,
40
TDF_RTL_LAYOUT
= 0x2000,
41
TDF_NO_DEFAULT_RADIO_BUTTON
= 0x4000,
42
TDF_CAN_BE_MINIMIZED
= 0x8000,
43
//#if (NTDDI_VERSION >= NTDDI_WIN8)
44
TDF_NO_SET_FOREGROUND
= 0x00010000,
// Don't call SetForegroundWindow() when activating the dialog
45
//#endif // (NTDDI_VERSION >= NTDDI_WIN8)
46
TDF_SIZE_TO_CONTENT
= 0x01000000
// used by ShellMessageBox to emulate MessageBox sizing behavior
47
};
48
typedef
int
TASKDIALOG_FLAGS
;
// Note: _TASKDIALOG_FLAGS is an int
49
50
typedef
enum
_TASKDIALOG_MESSAGES
51
{
52
TDM_NAVIGATE_PAGE
= WM_USER + 101,
53
TDM_CLICK_BUTTON
= WM_USER + 102,
// wParam = Button ID
54
TDM_SET_MARQUEE_PROGRESS_BAR
= WM_USER + 103,
// wParam = 0 (nonMarque) wParam != 0 (Marquee)
55
TDM_SET_PROGRESS_BAR_STATE
= WM_USER + 104,
// wParam = new progress state
56
TDM_SET_PROGRESS_BAR_RANGE
= WM_USER + 105,
// lParam = MAKELPARAM(nMinRange, nMaxRange)
57
TDM_SET_PROGRESS_BAR_POS
= WM_USER + 106,
// wParam = new position
58
TDM_SET_PROGRESS_BAR_MARQUEE
= WM_USER + 107,
// wParam = 0 (stop marquee), wParam != 0 (start marquee), lparam = speed (milliseconds between repaints)
59
TDM_SET_ELEMENT_TEXT
= WM_USER + 108,
// wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR)
60
TDM_CLICK_RADIO_BUTTON
= WM_USER + 110,
// wParam = Radio Button ID
61
TDM_ENABLE_BUTTON
= WM_USER + 111,
// lParam = 0 (disable), lParam != 0 (enable), wParam = Button ID
62
TDM_ENABLE_RADIO_BUTTON
= WM_USER + 112,
// lParam = 0 (disable), lParam != 0 (enable), wParam = Radio Button ID
63
TDM_CLICK_VERIFICATION
= WM_USER + 113,
// wParam = 0 (unchecked), 1 (checked), lParam = 1 (set key focus)
64
TDM_UPDATE_ELEMENT_TEXT
= WM_USER + 114,
// wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR)
65
TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE
= WM_USER + 115,
// wParam = Button ID, lParam = 0 (elevation not required), lParam != 0 (elevation required)
66
TDM_UPDATE_ICON
= WM_USER + 116
// wParam = icon element (TASKDIALOG_ICON_ELEMENTS), lParam = new icon (hIcon if TDF_USE_HICON_* was set, PCWSTR otherwise)
67
}
TASKDIALOG_MESSAGES
;
68
69
typedef
enum
_TASKDIALOG_NOTIFICATIONS
70
{
71
TDN_CREATED
= 0,
72
TDN_NAVIGATED
= 1,
73
TDN_BUTTON_CLICKED
= 2,
// wParam = Button ID
74
TDN_HYPERLINK_CLICKED
= 3,
// lParam = (LPCWSTR)pszHREF
75
TDN_TIMER
= 4,
// wParam = Milliseconds since dialog created or timer reset
76
TDN_DESTROYED
= 5,
77
TDN_RADIO_BUTTON_CLICKED
= 6,
// wParam = Radio Button ID
78
TDN_DIALOG_CONSTRUCTED
= 7,
79
TDN_VERIFICATION_CLICKED
= 8,
// wParam = 1 if checkbox checked, 0 if not, lParam is unused and always 0
80
TDN_HELP
= 9,
81
TDN_EXPANDO_BUTTON_CLICKED
= 10
// wParam = 0 (dialog is now collapsed), wParam != 0 (dialog is now expanded)
82
}
TASKDIALOG_NOTIFICATIONS
;
83
84
typedef
struct
_TASKDIALOG_BUTTON
85
{
86
int
nButtonID
;
87
PCWSTR
pszButtonText
;
88
}
TASKDIALOG_BUTTON
;
89
90
typedef
enum
_TASKDIALOG_ELEMENTS
91
{
92
TDE_CONTENT
,
93
TDE_EXPANDED_INFORMATION
,
94
TDE_FOOTER
,
95
TDE_MAIN_INSTRUCTION
96
}
TASKDIALOG_ELEMENTS
;
97
98
typedef
enum
_TASKDIALOG_ICON_ELEMENTS
99
{
100
TDIE_ICON_MAIN
,
101
TDIE_ICON_FOOTER
102
}
TASKDIALOG_ICON_ELEMENTS
;
103
104
#define TD_WARNING_ICON MAKEINTRESOURCEW(-1)
105
#define TD_ERROR_ICON MAKEINTRESOURCEW(-2)
106
#define TD_INFORMATION_ICON MAKEINTRESOURCEW(-3)
107
#define TD_SHIELD_ICON MAKEINTRESOURCEW(-4)
108
109
enum
_TASKDIALOG_COMMON_BUTTON_FLAGS
110
{
111
TDCBF_OK_BUTTON
= 0x0001,
// selected control return value IDOK
112
TDCBF_YES_BUTTON
= 0x0002,
// selected control return value IDYES
113
TDCBF_NO_BUTTON
= 0x0004,
// selected control return value IDNO
114
TDCBF_CANCEL_BUTTON
= 0x0008,
// selected control return value IDCANCEL
115
TDCBF_RETRY_BUTTON
= 0x0010,
// selected control return value IDRETRY
116
TDCBF_CLOSE_BUTTON
= 0x0020
// selected control return value IDCLOSE
117
};
118
typedef
int
TASKDIALOG_COMMON_BUTTON_FLAGS
;
// Note: _TASKDIALOG_COMMON_BUTTON_FLAGS is an int
119
120
typedef
struct
_TASKDIALOGCONFIG
121
{
122
UINT
cbSize
;
123
HWND
hwndParent
;
// incorrectly named, this is the owner window, not a parent.
124
HINSTANCE
hInstance
;
// used for MAKEINTRESOURCE() strings
125
TASKDIALOG_FLAGS
dwFlags
;
// TASKDIALOG_FLAGS (TDF_XXX) flags
126
TASKDIALOG_COMMON_BUTTON_FLAGS
dwCommonButtons
;
// TASKDIALOG_COMMON_BUTTON (TDCBF_XXX) flags
127
PCWSTR
pszWindowTitle
;
// string or MAKEINTRESOURCE()
128
union
129
{
130
HICON
hMainIcon
;
131
PCWSTR
pszMainIcon
;
132
}
/*DUMMYUNIONNAME*/
;
133
PCWSTR
pszMainInstruction
;
134
PCWSTR
pszContent
;
135
UINT
cButtons
;
136
const
TASKDIALOG_BUTTON
*
pButtons
;
137
int
nDefaultButton
;
138
UINT
cRadioButtons
;
139
const
TASKDIALOG_BUTTON
*
pRadioButtons
;
140
int
nDefaultRadioButton
;
141
PCWSTR
pszVerificationText
;
142
PCWSTR
pszExpandedInformation
;
143
PCWSTR
pszExpandedControlText
;
144
PCWSTR
pszCollapsedControlText
;
145
union
146
{
147
HICON
hFooterIcon
;
148
PCWSTR
pszFooterIcon
;
149
}
/*DUMMYUNIONNAME2*/
;
150
PCWSTR
pszFooter
;
151
PFTASKDIALOGCALLBACK
pfCallback
;
152
LONG_PTR
lpCallbackData
;
153
UINT
cxWidth
;
// width of the Task Dialog's client area in DLU's. If 0, Task Dialog will calculate the ideal width.
154
}
TASKDIALOGCONFIG
;
155
156
#include <poppack.h>
src
video
windows
SDL_windowstaskdialog.h
Generated on Sun Jun 26 2022 23:07:18 for SDL by
1.8.1.2