From 435181519fc8cc3f632db59abe3295a7561493bb Mon Sep 17 00:00:00 2001 From: Bart <9132501-flyingsheep@users.noreply.gitlab.com> Date: Fri, 18 Aug 2023 18:30:20 +0200 Subject: [PATCH] Win32: remove some TaskDialog related definitions from Win32Extra unit that are already defined in fpc's CommCtrl unit. --- lcl/interfaces/win32/win32extra.pas | 136 +--------------------------- 1 file changed, 2 insertions(+), 134 deletions(-) diff --git a/lcl/interfaces/win32/win32extra.pas b/lcl/interfaces/win32/win32extra.pas index bf448e1718..13a054ad80 100644 --- a/lcl/interfaces/win32/win32extra.pas +++ b/lcl/interfaces/win32/win32extra.pas @@ -26,7 +26,7 @@ unit Win32Extra; interface uses - Classes, LCLType, Windows, GraphType, SysUtils, ActiveX, ShlObj; + Classes, LCLType, Windows, GraphType, SysUtils, ActiveX, ShlObj, CommCtrl; { Win32 API constants not included in windows.pp } const @@ -68,142 +68,10 @@ type // ===================== Task Dialog ========================= - PFTASKDIALOGCALLBACK = function(hwnd: HWND; msg: UINT; wParam: WPARAM; lParam: LPARAM; lpRefData: LONG_PTR): HRESULT; stdcall; - - // _TASKDIALOG_FLAGS enum +//Not yet defined in fpc 3.2.2 const - TDF_ENABLE_HYPERLINKS = $0001; - TDF_USE_HICON_MAIN = $0002; - TDF_USE_HICON_FOOTER = $0004; - TDF_ALLOW_DIALOG_CANCELLATION = $0008; - TDF_USE_COMMAND_LINKS = $0010; - TDF_USE_COMMAND_LINKS_NO_ICON = $0020; - TDF_EXPAND_FOOTER_AREA = $0040; - TDF_EXPANDED_BY_DEFAULT = $0080; - TDF_VERIFICATION_FLAG_CHECKED = $0100; - TDF_SHOW_PROGRESS_BAR = $0200; - TDF_SHOW_MARQUEE_PROGRESS_BAR = $0400; - TDF_CALLBACK_TIMER = $0800; - TDF_POSITION_RELATIVE_TO_WINDOW = $1000; - TDF_RTL_LAYOUT = $2000; - TDF_NO_DEFAULT_RADIO_BUTTON = $4000; - TDF_CAN_BE_MINIMIZED = $8000; - -type - TASKDIALOG_FLAGS = Integer; // Note: _TASKDIALOG_FLAGS is an int - - // _TASKDIALOG_MESSAGES enum -const - TDM_NAVIGATE_PAGE = WM_USER+101; - TDM_CLICK_BUTTON = WM_USER+102; // wParam = Button ID - TDM_SET_MARQUEE_PROGRESS_BAR = WM_USER+103; // wParam = 0 (nonMarque) wParam != 0 (Marquee) - TDM_SET_PROGRESS_BAR_STATE = WM_USER+104; // wParam = new progress state - TDM_SET_PROGRESS_BAR_RANGE = WM_USER+105; // lParam = MAKELPARAM(nMinRange, nMaxRange) - TDM_SET_PROGRESS_BAR_POS = WM_USER+106; // wParam = new position - TDM_SET_PROGRESS_BAR_MARQUEE = WM_USER+107; // wParam = 0 (stop marquee), wParam != 0 (start marquee), lparam = speed (milliseconds between repaints) - TDM_SET_ELEMENT_TEXT = WM_USER+108; // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR) - TDM_CLICK_RADIO_BUTTON = WM_USER+110; // wParam = Radio Button ID - TDM_ENABLE_BUTTON = WM_USER+111; // lParam = 0 (disable), lParam != 0 (enable), wParam = Button ID - TDM_ENABLE_RADIO_BUTTON = WM_USER+112; // lParam = 0 (disable), lParam != 0 (enable), wParam = Radio Button ID - TDM_CLICK_VERIFICATION = WM_USER+113; // wParam = 0 (unchecked), 1 (checked), lParam = 1 (set key focus) - TDM_UPDATE_ELEMENT_TEXT = WM_USER+114; // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR) - TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = WM_USER+115; // wParam = Button ID, lParam = 0 (elevation not required), lParam != 0 (elevation required) - TDM_UPDATE_ICON = WM_USER+116; // wParam = icon element (TASKDIALOG_ICON_ELEMENTS), lParam = new icon (hIcon if TDF_USE_HICON_* was set, PCWSTR otherwise) - - // _TASKDIALOG_NOTIFICATIONS enum -const - TDN_CREATED = 0; - TDN_NAVIGATED = 1; - TDN_BUTTON_CLICKED = 2; // wParam = Button ID - TDN_HYPERLINK_CLICKED = 3; // lParam = (LPCWSTR)pszHREF - TDN_TIMER = 4; // wParam = Milliseconds since dialog created or timer reset - TDN_DESTROYED = 5; - TDN_RADIO_BUTTON_CLICKED = 6; // wParam = Radio Button ID - TDN_DIALOG_CONSTRUCTED = 7; - TDN_VERIFICATION_CLICKED = 8; // wParam = 1 if checkbox checked, 0 if not, lParam is unused and always 0 - TDN_HELP = 9; - TDN_EXPANDO_BUTTON_CLICKED = 10; // wParam = 0 (dialog is now collapsed), wParam != 0 (dialog is now expanded) - -type - _TASKDIALOG_BUTTON = packed record - nButtonID: Integer; - pszButtonText: PCWSTR; - end; - TASKDIALOG_BUTTON = _TASKDIALOG_BUTTON; - TTASKDIALOG_BUTTON = TASKDIALOG_BUTTON; - PTASKDIALOG_BUTTON = ^TASKDIALOG_BUTTON; - - // _TASKDIALOG_ELEMENTS enum -const - TDE_CONTENT = 0; - TDE_EXPANDED_INFORMATION = 1; - TDE_FOOTER = 2; - TDE_MAIN_INSTRUCTION = 3; - - // _TASKDIALOG_ICON_ELEMENTS enum - TDIE_ICON_MAIN = 0; - TDIE_ICON_FOOTER = 1; - - TD_WARNING_ICON = MAKEINTRESOURCEW(Word(-1)); - TD_ERROR_ICON = MAKEINTRESOURCEW(Word(-2)); - TD_INFORMATION_ICON = MAKEINTRESOURCEW(Word(-3)); - TD_SHIELD_ICON = MAKEINTRESOURCEW(Word(-4)); - TD_SHIELD_GRADIENT_ICON = MAKEINTRESOURCEW(Word(-5)); - TD_SHIELD_WARNING_ICON = MAKEINTRESOURCEW(Word(-6)); - TD_SHIELD_ERROR_ICON = MAKEINTRESOURCEW(Word(-7)); - TD_SHIELD_OK_ICON = MAKEINTRESOURCEW(Word(-8)); - TD_SHIELD_GRAY_ICON = MAKEINTRESOURCEW(Word(-9)); TD_QUESTION_ICON = MAKEINTRESOURCEW(Word(32514)); //source: https://www.vbarchiv.net/tipps/tipp_2224-vista-taskdialogindirect.html - // _TASKDIALOG_COMMON_BUTTON_FLAGS enum - TDCBF_OK_BUTTON = $0001; // selected control return value IDOK - TDCBF_YES_BUTTON = $0002; // selected control return value IDYES - TDCBF_NO_BUTTON = $0004; // selected control return value IDNO - TDCBF_CANCEL_BUTTON = $0008; // selected control return value IDCANCEL - TDCBF_RETRY_BUTTON = $0010; // selected control return value IDRETRY - TDCBF_CLOSE_BUTTON = $0020; // selected control return value IDCLOSE - -type - TASKDIALOG_COMMON_BUTTON_FLAGS = Integer; // Note: _TASKDIALOG_COMMON_BUTTON_FLAGS is an int - - _TASKDIALOGCONFIG = packed record - cbSize: UINT; - hwndParent: HWND; - hInstance: HINST; // used for MAKEINTRESOURCE() strings - dwFlags: TASKDIALOG_FLAGS; // TASKDIALOG_FLAGS (TDF_XXX) flags - dwCommonButtons: TASKDIALOG_COMMON_BUTTON_FLAGS; // TASKDIALOG_COMMON_BUTTON (TDCBF_XXX) flags - pszWindowTitle: PCWSTR; // string or MAKEINTRESOURCE() - case Boolean of - False: (hMainIcon: HICON); - True: ( - pszMainIcon: PCWSTR; - pszMainInstruction: PCWSTR; - pszContent: PCWSTR; - cButtons: UINT; - pButtons: PTASKDIALOG_BUTTON; - nDefaultButton: Integer; - cRadioButtons: UINT; - pRadioButtons: PTASKDIALOG_BUTTON; - nDefaultRadioButton: Integer; - pszVerificationText: PCWSTR; - pszExpandedInformation: PCWSTR; - pszExpandedControlText: PCWSTR; - pszCollapsedControlText: PCWSTR; - case Boolean of - False: (hFooterIcon: HICON); - True: ( - pszFooterIcon: PCWSTR; - pszFooter: PCWSTR; - pfCallback: PFTASKDIALOGCALLBACK; - lpCallbackData: LONG_PTR; - cxWidth: UINT; // width of the Task Dialog's client area in DLU's. If 0, Task Dialog will calculate the ideal width. - ); - ); - end; - TASKDIALOGCONFIG = _TASKDIALOGCONFIG; - PTASKDIALOGCONFIG = ^TASKDIALOGCONFIG; - TTASKDIALOGCONFIG = TASKDIALOGCONFIG; - // ==================== End TaskDialog ======================= // File dialogs