Headers diff for comctl32.dll between 5.82-Windows_7.0 and 5.82-Windows_8.1 versions



 commctrl.h (5.82-Windows_7.0)   commctrl.h (5.82-Windows_8.1) 
skipping to change at line 21 skipping to change at line 21
#ifndef _INC_COMMCTRL #ifndef _INC_COMMCTRL
#define _INC_COMMCTRL #define _INC_COMMCTRL
#if defined(_MSC_VER) && (_MSC_VER >= 1200) #if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(push) #pragma warning(push)
#pragma warning(disable:4001) /* nonstandard extension : single line comment */ #pragma warning(disable:4001) /* nonstandard extension : single line comment */
#pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un ion */ #pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un ion */
#pragma once #pragma once
#endif #endif
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifndef _HRESULT_DEFINED #ifndef _HRESULT_DEFINED
#define _HRESULT_DEFINED #define _HRESULT_DEFINED
typedef __success(return >= 0) long HRESULT; typedef _Return_type_success_(return >= 0) long HRESULT;
#endif // !_HRESULT_DEFINED #endif // !_HRESULT_DEFINED
#ifndef NOUSER #ifndef NOUSER
// //
// Define API decoration for direct importing of DLL references. // Define API decoration for direct importing of DLL references.
// //
#ifndef WINCOMMCTRLAPI #ifndef WINCOMMCTRLAPI
#if !defined(_COMCTL32_) && defined(_WIN32) #if !defined(_COMCTL32_) && defined(_WIN32)
#define WINCOMMCTRLAPI DECLSPEC_IMPORT #define WINCOMMCTRLAPI DECLSPEC_IMPORT
skipping to change at line 134 skipping to change at line 138
#pragma comment(lib, "msvcctl.lib") #pragma comment(lib, "msvcctl.lib")
#endif #endif
#endif // _WLMDLL #endif // _WLMDLL
#endif // _WLM_NOFORCE_LIBS #endif // _WLM_NOFORCE_LIBS
#endif // RC_INVOKED #endif // RC_INVOKED
#endif //_MAC #endif //_MAC
WINCOMMCTRLAPI void WINAPI InitCommonControls(void); WINCOMMCTRLAPI void WINAPI InitCommonControls(void);
#if (_WIN32_IE >= 0x0300)
typedef struct tagINITCOMMONCONTROLSEX { typedef struct tagINITCOMMONCONTROLSEX {
DWORD dwSize; // size of this structure DWORD dwSize; // size of this structure
DWORD dwICC; // flags indicating which classes to be initialize d DWORD dwICC; // flags indicating which classes to be initialize d
} INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX; } INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX;
#define ICC_LISTVIEW_CLASSES 0x00000001 // listview, header #define ICC_LISTVIEW_CLASSES 0x00000001 // listview, header
#define ICC_TREEVIEW_CLASSES 0x00000002 // treeview, tooltips #define ICC_TREEVIEW_CLASSES 0x00000002 // treeview, tooltips
#define ICC_BAR_CLASSES 0x00000004 // toolbar, statusbar, trackbar, toolt ips #define ICC_BAR_CLASSES 0x00000004 // toolbar, statusbar, trackbar, toolt ips
#define ICC_TAB_CLASSES 0x00000008 // tab, tooltips #define ICC_TAB_CLASSES 0x00000008 // tab, tooltips
#define ICC_UPDOWN_CLASS 0x00000010 // updown #define ICC_UPDOWN_CLASS 0x00000010 // updown
#define ICC_PROGRESS_CLASS 0x00000020 // progress #define ICC_PROGRESS_CLASS 0x00000020 // progress
#define ICC_HOTKEY_CLASS 0x00000040 // hotkey #define ICC_HOTKEY_CLASS 0x00000040 // hotkey
#define ICC_ANIMATE_CLASS 0x00000080 // animate #define ICC_ANIMATE_CLASS 0x00000080 // animate
#define ICC_WIN95_CLASSES 0x000000FF #define ICC_WIN95_CLASSES 0x000000FF
#define ICC_DATE_CLASSES 0x00000100 // month picker, date picker, time pic ker, updown #define ICC_DATE_CLASSES 0x00000100 // month picker, date picker, time pic ker, updown
#define ICC_USEREX_CLASSES 0x00000200 // comboex #define ICC_USEREX_CLASSES 0x00000200 // comboex
#define ICC_COOL_CLASSES 0x00000400 // rebar (coolbar) control #define ICC_COOL_CLASSES 0x00000400 // rebar (coolbar) control
#if (_WIN32_IE >= 0x0400)
#define ICC_INTERNET_CLASSES 0x00000800 #define ICC_INTERNET_CLASSES 0x00000800
#define ICC_PAGESCROLLER_CLASS 0x00001000 // page scroller #define ICC_PAGESCROLLER_CLASS 0x00001000 // page scroller
#define ICC_NATIVEFNTCTL_CLASS 0x00002000 // native font control #define ICC_NATIVEFNTCTL_CLASS 0x00002000 // native font control
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
#define ICC_STANDARD_CLASSES 0x00004000 #define ICC_STANDARD_CLASSES 0x00004000
#define ICC_LINK_CLASS 0x00008000 #define ICC_LINK_CLASS 0x00008000
#endif // (_WIN32_WINNT >= 0x0501) #endif // (NTDDI_VERSION >= NTDDI_WINXP)
WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(__in const INITCOMMONCONTROLSEX WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(_In_ const INITCOMMONCONTROLSEX
*picce); *picce);
#endif // _WIN32_IE >= 0x0300
#define ODT_HEADER 100 #define ODT_HEADER 100
#define ODT_TAB 101 #define ODT_TAB 101
#define ODT_LISTVIEW 102 #define ODT_LISTVIEW 102
//====== Ranges for control message IDs ======================================= //====== Ranges for control message IDs =======================================
#define LVM_FIRST 0x1000 // ListView messages #define LVM_FIRST 0x1000 // ListView messages
#define TV_FIRST 0x1100 // TreeView messages #define TV_FIRST 0x1100 // TreeView messages
#define HDM_FIRST 0x1200 // Header messages #define HDM_FIRST 0x1200 // Header messages
#define TCM_FIRST 0x1300 // Tab control messages #define TCM_FIRST 0x1300 // Tab control messages
#if (_WIN32_IE >= 0x0400)
#define PGM_FIRST 0x1400 // Pager control messages #define PGM_FIRST 0x1400 // Pager control messages
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define ECM_FIRST 0x1500 // Edit control messages #define ECM_FIRST 0x1500 // Edit control messages
#define BCM_FIRST 0x1600 // Button control messages #define BCM_FIRST 0x1600 // Button control messages
#define CBM_FIRST 0x1700 // Combobox control messages #define CBM_FIRST 0x1700 // Combobox control messages
#endif // _WIN32_WINNT >= 0x0501 #endif // (NTDDI_VERSION >= NTDDI_WINXP)
#define CCM_FIRST 0x2000 // Common control shared messages #define CCM_FIRST 0x2000 // Common control shared messages
#define CCM_LAST (CCM_FIRST + 0x200) #define CCM_LAST (CCM_FIRST + 0x200)
#define CCM_SETBKCOLOR (CCM_FIRST + 1) // lParam is bkColor #define CCM_SETBKCOLOR (CCM_FIRST + 1) // lParam is bkColor
typedef struct tagCOLORSCHEME { typedef struct tagCOLORSCHEME {
DWORD dwSize; DWORD dwSize;
COLORREF clrBtnHighlight; // highlight color COLORREF clrBtnHighlight; // highlight color
COLORREF clrBtnShadow; // shadow color COLORREF clrBtnShadow; // shadow color
} COLORSCHEME, *LPCOLORSCHEME; } COLORSCHEME, *LPCOLORSCHEME;
#define CCM_SETCOLORSCHEME (CCM_FIRST + 2) // lParam is color scheme #define CCM_SETCOLORSCHEME (CCM_FIRST + 2) // lParam is color scheme
#define CCM_GETCOLORSCHEME (CCM_FIRST + 3) // fills in COLORSCHEME pointed to by lParam #define CCM_GETCOLORSCHEME (CCM_FIRST + 3) // fills in COLORSCHEME pointed to by lParam
#define CCM_GETDROPTARGET (CCM_FIRST + 4) #define CCM_GETDROPTARGET (CCM_FIRST + 4)
#define CCM_SETUNICODEFORMAT (CCM_FIRST + 5) #define CCM_SETUNICODEFORMAT (CCM_FIRST + 5)
#define CCM_GETUNICODEFORMAT (CCM_FIRST + 6) #define CCM_GETUNICODEFORMAT (CCM_FIRST + 6)
#if (_WIN32_IE >= 0x0500) #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
#define COMCTL32_VERSION 6 #define COMCTL32_VERSION 6
#else #else
#define COMCTL32_VERSION 5 #define COMCTL32_VERSION 5
#endif #endif
#define CCM_SETVERSION (CCM_FIRST + 0x7) #define CCM_SETVERSION (CCM_FIRST + 0x7)
#define CCM_GETVERSION (CCM_FIRST + 0x8) #define CCM_GETVERSION (CCM_FIRST + 0x8)
#define CCM_SETNOTIFYWINDOW (CCM_FIRST + 0x9) // wParam == hwndParent. #define CCM_SETNOTIFYWINDOW (CCM_FIRST + 0x9) // wParam == hwndParent.
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define CCM_SETWINDOWTHEME (CCM_FIRST + 0xb) #define CCM_SETWINDOWTHEME (CCM_FIRST + 0xb)
#define CCM_DPISCALE (CCM_FIRST + 0xc) // wParam == Awareness #define CCM_DPISCALE (CCM_FIRST + 0xc) // wParam == Awareness
#endif
#endif // (_WIN32_IE >= 0x0500)
#endif // (_WIN32_IE >= 0x0400) #endif
#if (_WIN32_IE >= 0x0400)
// for tooltips // for tooltips
#define INFOTIPSIZE 1024 #define INFOTIPSIZE 1024
#endif
//====== WM_NOTIFY Macros ===================================================== //====== WM_NOTIFY Macros =====================================================
#define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \ #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
(fn)((hwnd), (int)(wParam), (NMHDR *)(lParam)) (fn)((hwnd), (int)(wParam), (NMHDR *)(lParam))
#define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) \ #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) \
(LRESULT)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(idFrom), (LPARAM)(NMHDR *)(pn mhdr)) (LRESULT)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(idFrom), (LPARAM)(NMHDR *)(pn mhdr))
//====== Generic WM_NOTIFY notification codes ================================= //====== Generic WM_NOTIFY notification codes =================================
#define NM_OUTOFMEMORY (NM_FIRST-1) #define NM_OUTOFMEMORY (NM_FIRST-1)
#define NM_CLICK (NM_FIRST-2) // uses NMCLICK struct #define NM_CLICK (NM_FIRST-2) // uses NMCLICK struct
#define NM_DBLCLK (NM_FIRST-3) #define NM_DBLCLK (NM_FIRST-3)
#define NM_RETURN (NM_FIRST-4) #define NM_RETURN (NM_FIRST-4)
#define NM_RCLICK (NM_FIRST-5) // uses NMCLICK struct #define NM_RCLICK (NM_FIRST-5) // uses NMCLICK struct
#define NM_RDBLCLK (NM_FIRST-6) #define NM_RDBLCLK (NM_FIRST-6)
#define NM_SETFOCUS (NM_FIRST-7) #define NM_SETFOCUS (NM_FIRST-7)
#define NM_KILLFOCUS (NM_FIRST-8) #define NM_KILLFOCUS (NM_FIRST-8)
#if (_WIN32_IE >= 0x0300)
#define NM_CUSTOMDRAW (NM_FIRST-12) #define NM_CUSTOMDRAW (NM_FIRST-12)
#define NM_HOVER (NM_FIRST-13) #define NM_HOVER (NM_FIRST-13)
#endif
#if (_WIN32_IE >= 0x0400)
#define NM_NCHITTEST (NM_FIRST-14) // uses NMMOUSE struct #define NM_NCHITTEST (NM_FIRST-14) // uses NMMOUSE struct
#define NM_KEYDOWN (NM_FIRST-15) // uses NMKEY struct #define NM_KEYDOWN (NM_FIRST-15) // uses NMKEY struct
#define NM_RELEASEDCAPTURE (NM_FIRST-16) #define NM_RELEASEDCAPTURE (NM_FIRST-16)
#define NM_SETCURSOR (NM_FIRST-17) // uses NMMOUSE struct #define NM_SETCURSOR (NM_FIRST-17) // uses NMMOUSE struct
#define NM_CHAR (NM_FIRST-18) // uses NMCHAR struct #define NM_CHAR (NM_FIRST-18) // uses NMCHAR struct
#endif
#if (_WIN32_IE >= 0x0401)
#define NM_TOOLTIPSCREATED (NM_FIRST-19) // notify of when the tooltips w indow is create #define NM_TOOLTIPSCREATED (NM_FIRST-19) // notify of when the tooltips w indow is create
#endif
#if (_WIN32_IE >= 0x0500)
#define NM_LDOWN (NM_FIRST-20) #define NM_LDOWN (NM_FIRST-20)
#define NM_RDOWN (NM_FIRST-21) #define NM_RDOWN (NM_FIRST-21)
#define NM_THEMECHANGED (NM_FIRST-22) #define NM_THEMECHANGED (NM_FIRST-22)
#endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define NM_FONTCHANGED (NM_FIRST-23) #define NM_FONTCHANGED (NM_FIRST-23)
#define NM_CUSTOMTEXT (NM_FIRST-24) // uses NMCUSTOMTEXT struct #define NM_CUSTOMTEXT (NM_FIRST-24) // uses NMCUSTOMTEXT struct
#define NM_TVSTATEIMAGECHANGING (NM_FIRST-24) // uses NMTVSTATEIMAGECHANGING s truct, defined after HTREEITEM #define NM_TVSTATEIMAGECHANGING (NM_FIRST-24) // uses NMTVSTATEIMAGECHANGING s truct, defined after HTREEITEM
#endif #endif
#ifndef CCSIZEOF_STRUCT #ifndef CCSIZEOF_STRUCT
#define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)- >member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)- >member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member))
#endif #endif
//====== Generic WM_NOTIFY notification structures ============================ //====== Generic WM_NOTIFY notification structures ============================
#if (_WIN32_IE >= 0x0401)
typedef struct tagNMTOOLTIPSCREATED typedef struct tagNMTOOLTIPSCREATED
{ {
NMHDR hdr; NMHDR hdr;
HWND hwndToolTips; HWND hwndToolTips;
} NMTOOLTIPSCREATED, * LPNMTOOLTIPSCREATED; } NMTOOLTIPSCREATED, * LPNMTOOLTIPSCREATED;
#endif
#if (_WIN32_IE >= 0x0400)
typedef struct tagNMMOUSE { typedef struct tagNMMOUSE {
NMHDR hdr; NMHDR hdr;
DWORD_PTR dwItemSpec; DWORD_PTR dwItemSpec;
DWORD_PTR dwItemData; DWORD_PTR dwItemData;
POINT pt; POINT pt;
LPARAM dwHitInfo; // any specifics about where on the item or control the m ouse is LPARAM dwHitInfo; // any specifics about where on the item or control the m ouse is
} NMMOUSE, *LPNMMOUSE; } NMMOUSE, *LPNMMOUSE;
typedef NMMOUSE NMCLICK; typedef NMMOUSE NMCLICK;
typedef LPNMMOUSE LPNMCLICK; typedef LPNMMOUSE LPNMCLICK;
skipping to change at line 325 skipping to change at line 308
// Generic structure for a character // Generic structure for a character
typedef struct tagNMCHAR { typedef struct tagNMCHAR {
NMHDR hdr; NMHDR hdr;
UINT ch; UINT ch;
DWORD dwItemPrev; // Item previously selected DWORD dwItemPrev; // Item previously selected
DWORD dwItemNext; // Item to be selected DWORD dwItemNext; // Item to be selected
} NMCHAR, *LPNMCHAR; } NMCHAR, *LPNMCHAR;
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
typedef struct tagNMCUSTOMTEXT typedef struct tagNMCUSTOMTEXT
{ {
NMHDR hdr; NMHDR hdr;
HDC hDC; HDC hDC;
LPCWSTR lpString; LPCWSTR lpString;
int nCount; int nCount;
LPRECT lpRect; LPRECT lpRect;
UINT uFormat; UINT uFormat;
skipping to change at line 373 skipping to change at line 354
// Shell reserved (0U-580U) - (0U-589U) // Shell reserved (0U-580U) - (0U-589U)
#define CDN_FIRST (0U-601U) // common dialog (new) #define CDN_FIRST (0U-601U) // common dialog (new)
#define CDN_LAST (0U-699U) #define CDN_LAST (0U-699U)
#define TBN_FIRST (0U-700U) // toolbar #define TBN_FIRST (0U-700U) // toolbar
#define TBN_LAST (0U-720U) #define TBN_LAST (0U-720U)
#define UDN_FIRST (0U-721U) // updown #define UDN_FIRST (0U-721U) // updown
#define UDN_LAST (0U-729U) #define UDN_LAST (0U-729U)
#if (_WIN32_IE >= 0x0300)
#define DTN_FIRST (0U-740U) // datetimepick #define DTN_FIRST (0U-740U) // datetimepick
#define DTN_LAST (0U-745U) // DTN_FIRST - 5 #define DTN_LAST (0U-745U) // DTN_FIRST - 5
#define MCN_FIRST (0U-746U) // monthcal #define MCN_FIRST (0U-746U) // monthcal
#define MCN_LAST (0U-752U) // MCN_FIRST - 6 #define MCN_LAST (0U-752U) // MCN_FIRST - 6
#define DTN_FIRST2 (0U-753U) // datetimepick2 #define DTN_FIRST2 (0U-753U) // datetimepick2
#define DTN_LAST2 (0U-799U) #define DTN_LAST2 (0U-799U)
#define CBEN_FIRST (0U-800U) // combo box ex #define CBEN_FIRST (0U-800U) // combo box ex
#define CBEN_LAST (0U-830U) #define CBEN_LAST (0U-830U)
#define RBN_FIRST (0U-831U) // rebar #define RBN_FIRST (0U-831U) // rebar
#define RBN_LAST (0U-859U) #define RBN_LAST (0U-859U)
#endif
#if (_WIN32_IE >= 0x0400)
#define IPN_FIRST (0U-860U) // internet address #define IPN_FIRST (0U-860U) // internet address
#define IPN_LAST (0U-879U) // internet address #define IPN_LAST (0U-879U) // internet address
#define SBN_FIRST (0U-880U) // status bar #define SBN_FIRST (0U-880U) // status bar
#define SBN_LAST (0U-899U) #define SBN_LAST (0U-899U)
#define PGN_FIRST (0U-900U) // Pager Control #define PGN_FIRST (0U-900U) // Pager Control
#define PGN_LAST (0U-950U) #define PGN_LAST (0U-950U)
#endif
#if (_WIN32_IE >= 0x0500)
#ifndef WMN_FIRST #ifndef WMN_FIRST
#define WMN_FIRST (0U-1000U) #define WMN_FIRST (0U-1000U)
#define WMN_LAST (0U-1200U) #define WMN_LAST (0U-1200U)
#endif #endif
#endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define BCN_FIRST (0U-1250U) #define BCN_FIRST (0U-1250U)
#define BCN_LAST (0U-1350U) #define BCN_LAST (0U-1350U)
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TRBN_FIRST (0U-1501U) // trackbar #define TRBN_FIRST (0U-1501U) // trackbar
#define TRBN_LAST (0U-1519U) #define TRBN_LAST (0U-1519U)
#endif #endif
#define MSGF_COMMCTRL_BEGINDRAG 0x4200 #define MSGF_COMMCTRL_BEGINDRAG 0x4200
#define MSGF_COMMCTRL_SIZEHEADER 0x4201 #define MSGF_COMMCTRL_SIZEHEADER 0x4201
#define MSGF_COMMCTRL_DRAGSELECT 0x4202 #define MSGF_COMMCTRL_DRAGSELECT 0x4202
#define MSGF_COMMCTRL_TOOLBARCUST 0x4203 #define MSGF_COMMCTRL_TOOLBARCUST 0x4203
#if (_WIN32_IE >= 0x0300)
//==================== CUSTOM DRAW ========================================== //==================== CUSTOM DRAW ==========================================
// custom draw return flags // custom draw return flags
// values under 0x00010000 are reserved for global custom draw values. // values under 0x00010000 are reserved for global custom draw values.
// above that are for specific controls // above that are for specific controls
#define CDRF_DODEFAULT 0x00000000 #define CDRF_DODEFAULT 0x00000000
#define CDRF_NEWFONT 0x00000002 #define CDRF_NEWFONT 0x00000002
#define CDRF_SKIPDEFAULT 0x00000004 #define CDRF_SKIPDEFAULT 0x00000004
#define CDRF_DOERASE 0x00000008 // draw the background #define CDRF_DOERASE 0x00000008 // draw the background
#define CDRF_SKIPPOSTPAINT 0x00000100 // don't draw the focus rect #define CDRF_SKIPPOSTPAINT 0x00000100 // don't draw the focus rect
#define CDRF_NOTIFYPOSTPAINT 0x00000010 #define CDRF_NOTIFYPOSTPAINT 0x00000010
#define CDRF_NOTIFYITEMDRAW 0x00000020 #define CDRF_NOTIFYITEMDRAW 0x00000020
#if (_WIN32_IE >= 0x0400)
#define CDRF_NOTIFYSUBITEMDRAW 0x00000020 // flags are the same, we can distin guish by context #define CDRF_NOTIFYSUBITEMDRAW 0x00000020 // flags are the same, we can distin guish by context
#endif
#define CDRF_NOTIFYPOSTERASE 0x00000040 #define CDRF_NOTIFYPOSTERASE 0x00000040
// drawstage flags // drawstage flags
// values under 0x00010000 are reserved for global custom draw values. // values under 0x00010000 are reserved for global custom draw values.
// above that are for specific controls // above that are for specific controls
#define CDDS_PREPAINT 0x00000001 #define CDDS_PREPAINT 0x00000001
#define CDDS_POSTPAINT 0x00000002 #define CDDS_POSTPAINT 0x00000002
#define CDDS_PREERASE 0x00000003 #define CDDS_PREERASE 0x00000003
#define CDDS_POSTERASE 0x00000004 #define CDDS_POSTERASE 0x00000004
// the 0x000010000 bit means it's individual item specific // the 0x000010000 bit means it's individual item specific
#define CDDS_ITEM 0x00010000 #define CDDS_ITEM 0x00010000
#define CDDS_ITEMPREPAINT (CDDS_ITEM | CDDS_PREPAINT) #define CDDS_ITEMPREPAINT (CDDS_ITEM | CDDS_PREPAINT)
#define CDDS_ITEMPOSTPAINT (CDDS_ITEM | CDDS_POSTPAINT) #define CDDS_ITEMPOSTPAINT (CDDS_ITEM | CDDS_POSTPAINT)
#define CDDS_ITEMPREERASE (CDDS_ITEM | CDDS_PREERASE) #define CDDS_ITEMPREERASE (CDDS_ITEM | CDDS_PREERASE)
#define CDDS_ITEMPOSTERASE (CDDS_ITEM | CDDS_POSTERASE) #define CDDS_ITEMPOSTERASE (CDDS_ITEM | CDDS_POSTERASE)
#if (_WIN32_IE >= 0x0400)
#define CDDS_SUBITEM 0x00020000 #define CDDS_SUBITEM 0x00020000
#endif
// itemState flags // itemState flags
#define CDIS_SELECTED 0x0001 #define CDIS_SELECTED 0x0001
#define CDIS_GRAYED 0x0002 #define CDIS_GRAYED 0x0002
#define CDIS_DISABLED 0x0004 #define CDIS_DISABLED 0x0004
#define CDIS_CHECKED 0x0008 #define CDIS_CHECKED 0x0008
#define CDIS_FOCUS 0x0010 #define CDIS_FOCUS 0x0010
#define CDIS_DEFAULT 0x0020 #define CDIS_DEFAULT 0x0020
#define CDIS_HOT 0x0040 #define CDIS_HOT 0x0040
#define CDIS_MARKED 0x0080 #define CDIS_MARKED 0x0080
#define CDIS_INDETERMINATE 0x0100 #define CDIS_INDETERMINATE 0x0100
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define CDIS_SHOWKEYBOARDCUES 0x0200 #define CDIS_SHOWKEYBOARDCUES 0x0200
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define CDIS_NEARHOT 0x0400 #define CDIS_NEARHOT 0x0400
#define CDIS_OTHERSIDEHOT 0x0800 #define CDIS_OTHERSIDEHOT 0x0800
#define CDIS_DROPHILITED 0x1000 #define CDIS_DROPHILITED 0x1000
#endif #endif
typedef struct tagNMCUSTOMDRAWINFO typedef struct tagNMCUSTOMDRAWINFO
{ {
NMHDR hdr; NMHDR hdr;
DWORD dwDrawStage; DWORD dwDrawStage;
HDC hdc; HDC hdc;
skipping to change at line 506 skipping to change at line 475
typedef struct tagNMCUSTOMSPLITRECTINFO typedef struct tagNMCUSTOMSPLITRECTINFO
{ {
NMHDR hdr; NMHDR hdr;
RECT rcClient; RECT rcClient;
RECT rcButton; RECT rcButton;
RECT rcSplit; RECT rcSplit;
} NMCUSTOMSPLITRECTINFO, *LPNMCUSTOMSPLITRECTINFO; } NMCUSTOMSPLITRECTINFO, *LPNMCUSTOMSPLITRECTINFO;
#define NM_GETCUSTOMSPLITRECT (BCN_FIRST + 0x0003) #define NM_GETCUSTOMSPLITRECT (BCN_FIRST + 0x0003)
#endif // _WIN32_IE >= 0x0300
//====== IMAGE APIS =========================================================== //====== IMAGE APIS ===========================================================
#ifndef NOIMAGEAPIS #ifndef NOIMAGEAPIS
#define CLR_NONE 0xFFFFFFFFL #define CLR_NONE 0xFFFFFFFFL
#define CLR_DEFAULT 0xFF000000L #define CLR_DEFAULT 0xFF000000L
#ifndef HIMAGELIST #ifndef HIMAGELIST
struct _IMAGELIST; struct _IMAGELIST;
typedef struct _IMAGELIST* HIMAGELIST; typedef struct _IMAGELIST* HIMAGELIST;
#endif #endif
#ifndef IMAGELISTDRAWPARAMS #ifndef IMAGELISTDRAWPARAMS
#if (_WIN32_IE >= 0x0300)
typedef struct _IMAGELISTDRAWPARAMS typedef struct _IMAGELISTDRAWPARAMS
{ {
DWORD cbSize; DWORD cbSize;
HIMAGELIST himl; HIMAGELIST himl;
int i; int i;
HDC hdcDst; HDC hdcDst;
int x; int x;
int y; int y;
int cx; int cx;
int cy; int cy;
skipping to change at line 547 skipping to change at line 513
DWORD dwRop; DWORD dwRop;
#if (_WIN32_IE >= 0x0501) #if (_WIN32_IE >= 0x0501)
DWORD fState; DWORD fState;
DWORD Frame; DWORD Frame;
COLORREF crEffect; COLORREF crEffect;
#endif #endif
} IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS; } IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;
#define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS, dwRop) #define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS, dwRop)
#endif // _WIN32_IE >= 0x0300
#endif #endif
#define ILC_MASK 0x00000001 #define ILC_MASK 0x00000001
#define ILC_COLOR 0x00000000 #define ILC_COLOR 0x00000000
#define ILC_COLORDDB 0x000000FE #define ILC_COLORDDB 0x000000FE
#define ILC_COLOR4 0x00000004 #define ILC_COLOR4 0x00000004
#define ILC_COLOR8 0x00000008 #define ILC_COLOR8 0x00000008
#define ILC_COLOR16 0x00000010 #define ILC_COLOR16 0x00000010
#define ILC_COLOR24 0x00000018 #define ILC_COLOR24 0x00000018
#define ILC_COLOR32 0x00000020 #define ILC_COLOR32 0x00000020
#define ILC_PALETTE 0x00000800 // (not implemented) #define ILC_PALETTE 0x00000800 // (not implemented)
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define ILC_MIRROR 0x00002000 // Mirror the icons contained, i f the process is mirrored #define ILC_MIRROR 0x00002000 // Mirror the icons contained, i f the process is mirrored
#define ILC_PERITEMMIRROR 0x00008000 // Causes the mirroring code to mirror each item when inserting a set of images, verses the whole strip #define ILC_PERITEMMIRROR 0x00008000 // Causes the mirroring code to mirror each item when inserting a set of images, verses the whole strip
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define ILC_ORIGINALSIZE 0x00010000 // Imagelist should accept small er than set images and apply OriginalSize based on image added #define ILC_ORIGINALSIZE 0x00010000 // Imagelist should accept small er than set images and apply OriginalSize based on image added
#define ILC_HIGHQUALITYSCALE 0x00020000 // Imagelist should enable use o f the high quality scaler. #define ILC_HIGHQUALITYSCALE 0x00020000 // Imagelist should enable use o f the high quality scaler.
#endif #endif
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Create(int cx, int cy, UINT flags, i nt cInitial, int cGrow); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Create(int cx, int cy, UINT flags, i nt cInitial, int cGrow);
WINCOMMCTRLAPI BOOL WINAPI ImageList_Destroy(__in_opt HIMAGELIST himl); WINCOMMCTRLAPI BOOL WINAPI ImageList_Destroy(_In_opt_ HIMAGELIST himl);
WINCOMMCTRLAPI int WINAPI ImageList_GetImageCount(__in HIMAGELIST himl); WINCOMMCTRLAPI int WINAPI ImageList_GetImageCount(_In_ HIMAGELIST himl);
#if (_WIN32_IE >= 0x0300) WINCOMMCTRLAPI BOOL WINAPI ImageList_SetImageCount(_In_ HIMAGELIST himl,
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetImageCount(__in HIMAGELIST himl, _In_ UINT uNewCount);
__in UINT uNewCount);
#endif
WINCOMMCTRLAPI int WINAPI ImageList_Add(__in HIMAGELIST himl, __in HBITM AP hbmImage, __in_opt HBITMAP hbmMask); WINCOMMCTRLAPI int WINAPI ImageList_Add(_In_ HIMAGELIST himl, _In_ HBITM AP hbmImage, _In_opt_ HBITMAP hbmMask);
WINCOMMCTRLAPI int WINAPI ImageList_ReplaceIcon(__in HIMAGELIST himl, __ WINCOMMCTRLAPI int WINAPI ImageList_ReplaceIcon(_In_ HIMAGELIST himl, _I
in int i, __in HICON hicon); n_ int i, _In_ HICON hicon);
WINCOMMCTRLAPI COLORREF WINAPI ImageList_SetBkColor(__in HIMAGELIST himl, __i WINCOMMCTRLAPI COLORREF WINAPI ImageList_SetBkColor(_In_ HIMAGELIST himl, _In
n COLORREF clrBk); _ COLORREF clrBk);
WINCOMMCTRLAPI COLORREF WINAPI ImageList_GetBkColor(__in HIMAGELIST himl); WINCOMMCTRLAPI COLORREF WINAPI ImageList_GetBkColor(_In_ HIMAGELIST himl);
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetOverlayImage(__in HIMAGELIST himl WINCOMMCTRLAPI BOOL WINAPI ImageList_SetOverlayImage(_In_ HIMAGELIST himl
, __in int iImage, __in int iOverlay); , _In_ int iImage, _In_ int iOverlay);
#define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon ) #define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon )
#define ILD_NORMAL 0x00000000 #define ILD_NORMAL 0x00000000
#define ILD_TRANSPARENT 0x00000001 #define ILD_TRANSPARENT 0x00000001
#define ILD_MASK 0x00000010 #define ILD_MASK 0x00000010
#define ILD_IMAGE 0x00000020 #define ILD_IMAGE 0x00000020
#if (_WIN32_IE >= 0x0300)
#define ILD_ROP 0x00000040 #define ILD_ROP 0x00000040
#endif
#define ILD_BLEND25 0x00000002 #define ILD_BLEND25 0x00000002
#define ILD_BLEND50 0x00000004 #define ILD_BLEND50 0x00000004
#define ILD_OVERLAYMASK 0x00000F00 #define ILD_OVERLAYMASK 0x00000F00
#define INDEXTOOVERLAYMASK(i) ((i) << 8) #define INDEXTOOVERLAYMASK(i) ((i) << 8)
#define ILD_PRESERVEALPHA 0x00001000 // This preserves the alpha channel in dest #define ILD_PRESERVEALPHA 0x00001000 // This preserves the alpha channel in dest
#define ILD_SCALE 0x00002000 // Causes the image to be scaled to cx, cy instead of clipped #define ILD_SCALE 0x00002000 // Causes the image to be scaled to cx, cy instead of clipped
#define ILD_DPISCALE 0x00004000 #define ILD_DPISCALE 0x00004000
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define ILD_ASYNC 0x00008000 #define ILD_ASYNC 0x00008000
#endif #endif
#define ILD_SELECTED ILD_BLEND50 #define ILD_SELECTED ILD_BLEND50
#define ILD_FOCUS ILD_BLEND25 #define ILD_FOCUS ILD_BLEND25
#define ILD_BLEND ILD_BLEND50 #define ILD_BLEND ILD_BLEND50
#define CLR_HILIGHT CLR_DEFAULT #define CLR_HILIGHT CLR_DEFAULT
#define ILS_NORMAL 0x00000000 #define ILS_NORMAL 0x00000000
#define ILS_GLOW 0x00000001 #define ILS_GLOW 0x00000001
#define ILS_SHADOW 0x00000002 #define ILS_SHADOW 0x00000002
#define ILS_SATURATE 0x00000004 #define ILS_SATURATE 0x00000004
#define ILS_ALPHA 0x00000008 #define ILS_ALPHA 0x00000008
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define ILGT_NORMAL 0x00000000 #define ILGT_NORMAL 0x00000000
#define ILGT_ASYNC 0x00000001 #define ILGT_ASYNC 0x00000001
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_Draw(__in HIMAGELIST himl, __in int i, __in HDC hdcDst, __in int x, __in int y, __in UINT fStyle); WINCOMMCTRLAPI BOOL WINAPI ImageList_Draw(_In_ HIMAGELIST himl, _In_ int i, _In_ HDC hdcDst, _In_ int x, _In_ int y, _In_ UINT fStyle);
#ifdef _WIN32 #ifdef _WIN32
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define HBITMAP_CALLBACK ((HBITMAP)-1) // only for SparseIma geList #define HBITMAP_CALLBACK ((HBITMAP)-1) // only for SparseIma geList
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_Replace(__in HIMAGELIST himl, __in i nt i, __in HBITMAP hbmImage, __in_opt HBITMAP hbmMask); WINCOMMCTRLAPI BOOL WINAPI ImageList_Replace(_In_ HIMAGELIST himl, _In_ i nt i, _In_ HBITMAP hbmImage, _In_opt_ HBITMAP hbmMask);
WINCOMMCTRLAPI int WINAPI ImageList_AddMasked(__in HIMAGELIST himl, __in WINCOMMCTRLAPI int WINAPI ImageList_AddMasked(_In_ HIMAGELIST himl, _In_
HBITMAP hbmImage, __in COLORREF crMask); HBITMAP hbmImage, _In_ COLORREF crMask);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawEx(__in HIMAGELIST himl, __in in WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawEx(_In_ HIMAGELIST himl, _In_ in
t i, __in HDC hdcDst, __in int x, __in int y, __in int dx, __in int dy, __in COL t i, _In_ HDC hdcDst, _In_ int x, _In_ int y, _In_ int dx, _In_ int dy, _In_ COL
ORREF rgbBk, __in COLORREF rgbFg, __in UINT fStyle); ORREF rgbBk, _In_ COLORREF rgbFg, _In_ UINT fStyle);
#if (_WIN32_IE >= 0x0300) WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawIndirect(_In_ IMAGELISTDRAWPARAM
WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawIndirect(__in IMAGELISTDRAWPARAM S* pimldp);
S* pimldp); WINCOMMCTRLAPI BOOL WINAPI ImageList_Remove(_In_ HIMAGELIST himl, _In_ in
#endif t i);
WINCOMMCTRLAPI BOOL WINAPI ImageList_Remove(__in HIMAGELIST himl, __in in WINCOMMCTRLAPI HICON WINAPI ImageList_GetIcon(_In_ HIMAGELIST himl, _In_ i
t i); nt i, _In_ UINT flags);
WINCOMMCTRLAPI HICON WINAPI ImageList_GetIcon(__in HIMAGELIST himl, __in i
nt i, __in UINT flags);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbm p, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbm p, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpb mp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpb mp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags);
#ifdef UNICODE #ifdef UNICODE
#define ImageList_LoadImage ImageList_LoadImageW #define ImageList_LoadImage ImageList_LoadImageW
#else #else
#define ImageList_LoadImage ImageList_LoadImageA #define ImageList_LoadImage ImageList_LoadImageA
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define ILCF_MOVE (0x00000000) #define ILCF_MOVE (0x00000000)
#define ILCF_SWAP (0x00000001) #define ILCF_SWAP (0x00000001)
WINCOMMCTRLAPI BOOL WINAPI ImageList_Copy(__in HIMAGELIST himlDst, __in i WINCOMMCTRLAPI BOOL WINAPI ImageList_Copy(_In_ HIMAGELIST himlDst, _In_ i
nt iDst, __in HIMAGELIST himlSrc, __in int iSrc, __in UINT uFlags); nt iDst, _In_ HIMAGELIST himlSrc, _In_ int iSrc, _In_ UINT uFlags);
#endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_BeginDrag(__in HIMAGELIST himlTrack, __in int iTrack, __in int dxHotspot, __in int dyHotspot); WINCOMMCTRLAPI BOOL WINAPI ImageList_BeginDrag(_In_ HIMAGELIST himlTrack, _In_ int iTrack, _In_ int dxHotspot, _In_ int dyHotspot);
WINCOMMCTRLAPI void WINAPI ImageList_EndDrag(void); WINCOMMCTRLAPI void WINAPI ImageList_EndDrag(void);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragEnter(HWND hwndLock, int x, int y); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragEnter(HWND hwndLock, int x, int y);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragLeave(HWND hwndLock); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragLeave(HWND hwndLock);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragMove(int x, int y); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragMove(int x, int y);
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetDragCursorImage(__in HIMAGELIST h imlDrag, __in int iDrag, __in int dxHotspot, __in int dyHotspot); WINCOMMCTRLAPI BOOL WINAPI ImageList_SetDragCursorImage(_In_ HIMAGELIST h imlDrag, _In_ int iDrag, _In_ int dxHotspot, _In_ int dyHotspot);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragShowNolock(BOOL fShow); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragShowNolock(BOOL fShow);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_GetDragImage(__out_opt POINT *ppt, _ _out_opt POINT *pptHotspot); _Success_(return != NULL) WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_GetDragIma ge(_Out_opt_ POINT *ppt, _Out_opt_ POINT *pptHotspot);
#define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1) #define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1)
#define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0) #define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0)
#define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) ImageList_LoadIma ge(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0) #define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) ImageList_LoadIma ge(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0)
struct IStream; struct IStream;
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Read(__in struct IStream *pstm); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Read(_In_ struct IStream *pstm);
WINCOMMCTRLAPI BOOL WINAPI ImageList_Write(__in HIMAGELIST himl, __in str WINCOMMCTRLAPI BOOL WINAPI ImageList_Write(_In_ HIMAGELIST himl, _In_ str
uct IStream *pstm); uct IStream *pstm);
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define ILP_NORMAL 0 // Writes or reads the stream using new sematics for this version of comctl32 #define ILP_NORMAL 0 // Writes or reads the stream using new sematics for this version of comctl32
#define ILP_DOWNLEVEL 1 // Write or reads the stream using downl evel sematics. #define ILP_DOWNLEVEL 1 // Write or reads the stream using downl evel sematics.
WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(__in DWORD dwFlags, __in struct I WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(_In_ DWORD dwFlags, _In_ struct I
Stream *pstm, __in REFIID riid, __deref_out PVOID* ppv); Stream *pstm, _In_ REFIID riid, _Outptr_ PVOID* ppv);
WINCOMMCTRLAPI HRESULT WINAPI ImageList_WriteEx(__in HIMAGELIST himl, __in DWORD WINCOMMCTRLAPI HRESULT WINAPI ImageList_WriteEx(_In_ HIMAGELIST himl, _In_ DWORD
dwFlags, __in struct IStream *pstm); dwFlags, _In_ struct IStream *pstm);
#endif #endif
#ifndef IMAGEINFO #ifndef IMAGEINFO
typedef struct _IMAGEINFO typedef struct _IMAGEINFO
{ {
HBITMAP hbmImage; HBITMAP hbmImage;
HBITMAP hbmMask; HBITMAP hbmMask;
int Unused1; int Unused1;
int Unused2; int Unused2;
RECT rcImage; RECT rcImage;
} IMAGEINFO, *LPIMAGEINFO; } IMAGEINFO, *LPIMAGEINFO;
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_GetIconSize(__in HIMAGELIST himl, __ _Success_(return) WINCOMMCTRLAPI BOOL WINAPI ImageList_GetIconSize(_In_ H
out_opt int *cx, __out_opt int *cy); IMAGELIST himl, _Out_opt_ int *cx, _Out_opt_ int *cy);
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetIconSize(__in HIMAGELIST himl, __ _Success_(return) WINCOMMCTRLAPI BOOL WINAPI ImageList_SetIconSize(_In_ H
in int cx, __in int cy); IMAGELIST himl, _In_ int cx, _In_ int cy);
WINCOMMCTRLAPI BOOL WINAPI ImageList_GetImageInfo(__in HIMAGELIST himl, _ _Success_(return) WINCOMMCTRLAPI BOOL WINAPI ImageList_GetImageInfo(_In_
_in int i, __out IMAGEINFO *pImageInfo); HIMAGELIST himl, _In_ int i, _Out_ IMAGEINFO *pImageInfo);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Merge(__in HIMAGELIST himl1, __in in WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Merge(_In_ HIMAGELIST himl1, _In_ in
t i1, __in HIMAGELIST himl2, __in int i2, __in int dx, __in int dy); t i1, _In_ HIMAGELIST himl2, _In_ int i2, _In_ int dx, _In_ int dy);
#if (_WIN32_IE >= 0x0400) WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Duplicate(_In_ HIMAGELIST himl);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Duplicate(__in HIMAGELIST himl);
#endif
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(__in HIMAGELIST himl, __ WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(_In_ HIMAGELIST himl, _I
in REFIID riid, __deref_out void** ppv); n_ REFIID riid, _Outptr_ void **ppv);
#ifdef __cplusplus #ifdef __cplusplus
FORCEINLINE HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl) FORCEINLINE HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl)
{ {
return reinterpret_cast<HIMAGELIST>(himl); return reinterpret_cast<HIMAGELIST>(himl);
} }
#else #else
#define IImageListToHIMAGELIST(himl) ((HIMAGELIST)(himl)) #define IImageListToHIMAGELIST(himl) ((HIMAGELIST)(himl))
#endif #endif
skipping to change at line 736 skipping to change at line 691
#endif #endif
#else #else
#define WC_HEADER "SysHeader" #define WC_HEADER "SysHeader"
#endif #endif
// begin_r_commctrl // begin_r_commctrl
#define HDS_HORZ 0x0000 #define HDS_HORZ 0x0000
#define HDS_BUTTONS 0x0002 #define HDS_BUTTONS 0x0002
#if (_WIN32_IE >= 0x0300)
#define HDS_HOTTRACK 0x0004 #define HDS_HOTTRACK 0x0004
#endif
#define HDS_HIDDEN 0x0008 #define HDS_HIDDEN 0x0008
#if (_WIN32_IE >= 0x0300)
#define HDS_DRAGDROP 0x0040 #define HDS_DRAGDROP 0x0040
#define HDS_FULLDRAG 0x0080 #define HDS_FULLDRAG 0x0080
#endif
#if (_WIN32_IE >= 0x0500)
#define HDS_FILTERBAR 0x0100 #define HDS_FILTERBAR 0x0100
#endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define HDS_FLAT 0x0200 #define HDS_FLAT 0x0200
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define HDS_CHECKBOXES 0x0400 #define HDS_CHECKBOXES 0x0400
#define HDS_NOSIZING 0x0800 #define HDS_NOSIZING 0x0800
#define HDS_OVERFLOW 0x1000 #define HDS_OVERFLOW 0x1000
#endif #endif
// end_r_commctrl // end_r_commctrl
#if (_WIN32_IE >= 0x0500)
#define HDFT_ISSTRING 0x0000 // HD_ITEM.pvFilter points to a HD_TEXTF ILTER #define HDFT_ISSTRING 0x0000 // HD_ITEM.pvFilter points to a HD_TEXTF ILTER
#define HDFT_ISNUMBER 0x0001 // HD_ITEM.pvFilter points to a INT #define HDFT_ISNUMBER 0x0001 // HD_ITEM.pvFilter points to a INT
#define HDFT_ISDATE 0x0002 // HD_ITEM.pvFilter points to a DWORD (d os date) #define HDFT_ISDATE 0x0002 // HD_ITEM.pvFilter points to a DWORD (d os date)
#define HDFT_HASNOVALUE 0x8000 // clear the filter, by setting this bit #define HDFT_HASNOVALUE 0x8000 // clear the filter, by setting this bit
#ifdef UNICODE #ifdef UNICODE
#define HD_TEXTFILTER HD_TEXTFILTERW #define HD_TEXTFILTER HD_TEXTFILTERW
#define HDTEXTFILTER HD_TEXTFILTERW #define HDTEXTFILTER HD_TEXTFILTERW
#define LPHD_TEXTFILTER LPHD_TEXTFILTERW #define LPHD_TEXTFILTER LPHD_TEXTFILTERW
skipping to change at line 792 skipping to change at line 739
LPSTR pszText; // [in] pointer to the buffer containing the filter (ANSI) LPSTR pszText; // [in] pointer to the buffer containing the filter (ANSI)
INT cchTextMax; // [in] max size of buffer/edit control buffer INT cchTextMax; // [in] max size of buffer/edit control buffer
} HD_TEXTFILTERA, *LPHD_TEXTFILTERA; } HD_TEXTFILTERA, *LPHD_TEXTFILTERA;
typedef struct _HD_TEXTFILTERW typedef struct _HD_TEXTFILTERW
{ {
LPWSTR pszText; // [in] pointer to the buffer contiainin g the filter (UNICODE) LPWSTR pszText; // [in] pointer to the buffer contiainin g the filter (UNICODE)
INT cchTextMax; // [in] max size of buffer/edit control buffer INT cchTextMax; // [in] max size of buffer/edit control buffer
} HD_TEXTFILTERW, *LPHD_TEXTFILTERW; } HD_TEXTFILTERW, *LPHD_TEXTFILTERW;
#endif // _WIN32_IE >= 0x0500
#if (_WIN32_IE >= 0x0300)
#define HD_ITEMA HDITEMA #define HD_ITEMA HDITEMA
#define HD_ITEMW HDITEMW #define HD_ITEMW HDITEMW
#else
#define HDITEMW HD_ITEMW
#define HDITEMA HD_ITEMA
#endif
#define HD_ITEM HDITEM #define HD_ITEM HDITEM
typedef struct _HD_ITEMA typedef struct _HD_ITEMA
{ {
UINT mask; UINT mask;
int cxy; int cxy;
LPSTR pszText; LPSTR pszText;
HBITMAP hbm; HBITMAP hbm;
int cchTextMax; int cchTextMax;
int fmt; int fmt;
LPARAM lParam; LPARAM lParam;
#if (_WIN32_IE >= 0x0300)
int iImage; // index of bitmap in ImageList int iImage; // index of bitmap in ImageList
int iOrder; // where to draw this item int iOrder; // where to draw this item
#endif
#if (_WIN32_IE >= 0x0500)
UINT type; // [in] filter type (defined what pvFilter is a poin ter to) UINT type; // [in] filter type (defined what pvFilter is a poin ter to)
void * pvFilter; // [in] filter data see above void * pvFilter; // [in] filter data see above
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
UINT state; UINT state;
#endif #endif
} HDITEMA, *LPHDITEMA; } HDITEMA, *LPHDITEMA;
#define HDITEMA_V1_SIZE CCSIZEOF_STRUCT(HDITEMA, lParam) #define HDITEMA_V1_SIZE CCSIZEOF_STRUCT(HDITEMA, lParam)
#define HDITEMW_V1_SIZE CCSIZEOF_STRUCT(HDITEMW, lParam) #define HDITEMW_V1_SIZE CCSIZEOF_STRUCT(HDITEMW, lParam)
typedef struct _HD_ITEMW typedef struct _HD_ITEMW
{ {
UINT mask; UINT mask;
int cxy; int cxy;
LPWSTR pszText; LPWSTR pszText;
HBITMAP hbm; HBITMAP hbm;
int cchTextMax; int cchTextMax;
int fmt; int fmt;
LPARAM lParam; LPARAM lParam;
#if (_WIN32_IE >= 0x0300)
int iImage; // index of bitmap in ImageList int iImage; // index of bitmap in ImageList
int iOrder; int iOrder;
#endif
#if (_WIN32_IE >= 0x0500)
UINT type; // [in] filter type (defined what pvFilter is a poin ter to) UINT type; // [in] filter type (defined what pvFilter is a poin ter to)
void * pvFilter; // [in] fillter data see above void * pvFilter; // [in] fillter data see above
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
UINT state; UINT state;
#endif #endif
} HDITEMW, *LPHDITEMW; } HDITEMW, *LPHDITEMW;
#ifdef UNICODE #ifdef UNICODE
#define HDITEM HDITEMW #define HDITEM HDITEMW
#define LPHDITEM LPHDITEMW #define LPHDITEM LPHDITEMW
#define HDITEM_V1_SIZE HDITEMW_V1_SIZE #define HDITEM_V1_SIZE HDITEMW_V1_SIZE
#else #else
#define HDITEM HDITEMA #define HDITEM HDITEMA
#define LPHDITEM LPHDITEMA #define LPHDITEM LPHDITEMA
#define HDITEM_V1_SIZE HDITEMA_V1_SIZE #define HDITEM_V1_SIZE HDITEMA_V1_SIZE
#endif #endif
#define HDI_WIDTH 0x0001 #define HDI_WIDTH 0x0001
#define HDI_HEIGHT HDI_WIDTH #define HDI_HEIGHT HDI_WIDTH
#define HDI_TEXT 0x0002 #define HDI_TEXT 0x0002
#define HDI_FORMAT 0x0004 #define HDI_FORMAT 0x0004
#define HDI_LPARAM 0x0008 #define HDI_LPARAM 0x0008
#define HDI_BITMAP 0x0010 #define HDI_BITMAP 0x0010
#if (_WIN32_IE >= 0x0300)
#define HDI_IMAGE 0x0020 #define HDI_IMAGE 0x0020
#define HDI_DI_SETITEM 0x0040 #define HDI_DI_SETITEM 0x0040
#define HDI_ORDER 0x0080 #define HDI_ORDER 0x0080
#endif
#if (_WIN32_IE >= 0x0500)
#define HDI_FILTER 0x0100 #define HDI_FILTER 0x0100
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
#define HDI_STATE 0x0200 #define HDI_STATE 0x0200
#endif #endif
// HDF_ flags are shared with the listview control (LVCFMT_ flags) // HDF_ flags are shared with the listview control (LVCFMT_ flags)
#define HDF_LEFT 0x0000 // Same as LVCFMT_LEFT #define HDF_LEFT 0x0000 // Same as LVCFMT_LEFT
#define HDF_RIGHT 0x0001 // Same as LVCFMT_RIGHT #define HDF_RIGHT 0x0001 // Same as LVCFMT_RIGHT
#define HDF_CENTER 0x0002 // Same as LVCFMT_CENTER #define HDF_CENTER 0x0002 // Same as LVCFMT_CENTER
#define HDF_JUSTIFYMASK 0x0003 // Same as LVCFMT_JUSTIFYMASK #define HDF_JUSTIFYMASK 0x0003 // Same as LVCFMT_JUSTIFYMASK
#define HDF_RTLREADING 0x0004 // Same as LVCFMT_LEFT #define HDF_RTLREADING 0x0004 // Same as LVCFMT_LEFT
#define HDF_BITMAP 0x2000 #define HDF_BITMAP 0x2000
#define HDF_STRING 0x4000 #define HDF_STRING 0x4000
#define HDF_OWNERDRAW 0x8000 // Same as LVCFMT_COL_HAS_IMAGES #define HDF_OWNERDRAW 0x8000 // Same as LVCFMT_COL_HAS_IMAGES
#if (_WIN32_IE >= 0x0300)
#define HDF_IMAGE 0x0800 // Same as LVCFMT_IMAGE #define HDF_IMAGE 0x0800 // Same as LVCFMT_IMAGE
#define HDF_BITMAP_ON_RIGHT 0x1000 // Same as LVCFMT_BITMAP_ON_RIGHT #define HDF_BITMAP_ON_RIGHT 0x1000 // Same as LVCFMT_BITMAP_ON_RIGHT
#endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define HDF_SORTUP 0x0400 #define HDF_SORTUP 0x0400
#define HDF_SORTDOWN 0x0200 #define HDF_SORTDOWN 0x0200
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define HDF_CHECKBOX 0x0040 #define HDF_CHECKBOX 0x0040
#define HDF_CHECKED 0x0080 #define HDF_CHECKED 0x0080
#define HDF_FIXEDWIDTH 0x0100 // Can't resize the column; same as LVCFM T_FIXED_WIDTH #define HDF_FIXEDWIDTH 0x0100 // Can't resize the column; same as LVCFM T_FIXED_WIDTH
#define HDF_SPLITBUTTON 0x1000000 // Column is a split button; same as LVCF MT_SPLITBUTTON #define HDF_SPLITBUTTON 0x1000000 // Column is a split button; same as LVCF MT_SPLITBUTTON
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define HDIS_FOCUSED 0x00000001 #define HDIS_FOCUSED 0x00000001
#endif #endif
#define HDM_GETITEMCOUNT (HDM_FIRST + 0) #define HDM_GETITEMCOUNT (HDM_FIRST + 0)
#define Header_GetItemCount(hwndHD) \ #define Header_GetItemCount(hwndHD) \
(int)SNDMSG((hwndHD), HDM_GETITEMCOUNT, 0, 0L) (int)SNDMSG((hwndHD), HDM_GETITEMCOUNT, 0, 0L)
#define HDM_INSERTITEMA (HDM_FIRST + 1) #define HDM_INSERTITEMA (HDM_FIRST + 1)
#define HDM_INSERTITEMW (HDM_FIRST + 10) #define HDM_INSERTITEMW (HDM_FIRST + 10)
skipping to change at line 954 skipping to change at line 880
#ifdef UNICODE #ifdef UNICODE
#define HDM_SETITEM HDM_SETITEMW #define HDM_SETITEM HDM_SETITEMW
#else #else
#define HDM_SETITEM HDM_SETITEMA #define HDM_SETITEM HDM_SETITEMA
#endif #endif
#define Header_SetItem(hwndHD, i, phdi) \ #define Header_SetItem(hwndHD, i, phdi) \
(BOOL)SNDMSG((hwndHD), HDM_SETITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi)) (BOOL)SNDMSG((hwndHD), HDM_SETITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi))
#if (_WIN32_IE >= 0x0300)
#define HD_LAYOUT HDLAYOUT #define HD_LAYOUT HDLAYOUT
#else
#define HDLAYOUT HD_LAYOUT
#endif
typedef struct _HD_LAYOUT typedef struct _HD_LAYOUT
{ {
RECT *prc; RECT *prc;
WINDOWPOS *pwpos; WINDOWPOS *pwpos;
} HDLAYOUT, *LPHDLAYOUT; } HDLAYOUT, *LPHDLAYOUT;
#define HDM_LAYOUT (HDM_FIRST + 5) #define HDM_LAYOUT (HDM_FIRST + 5)
#define Header_Layout(hwndHD, playout) \ #define Header_Layout(hwndHD, playout) \
(BOOL)SNDMSG((hwndHD), HDM_LAYOUT, 0, (LPARAM)(HD_LAYOUT *)(playout)) (BOOL)SNDMSG((hwndHD), HDM_LAYOUT, 0, (LPARAM)(HD_LAYOUT *)(playout))
#define HHT_NOWHERE 0x0001 #define HHT_NOWHERE 0x0001
#define HHT_ONHEADER 0x0002 #define HHT_ONHEADER 0x0002
#define HHT_ONDIVIDER 0x0004 #define HHT_ONDIVIDER 0x0004
#define HHT_ONDIVOPEN 0x0008 #define HHT_ONDIVOPEN 0x0008
#if (_WIN32_IE >= 0x0500)
#define HHT_ONFILTER 0x0010 #define HHT_ONFILTER 0x0010
#define HHT_ONFILTERBUTTON 0x0020 #define HHT_ONFILTERBUTTON 0x0020
#endif
#define HHT_ABOVE 0x0100 #define HHT_ABOVE 0x0100
#define HHT_BELOW 0x0200 #define HHT_BELOW 0x0200
#define HHT_TORIGHT 0x0400 #define HHT_TORIGHT 0x0400
#define HHT_TOLEFT 0x0800 #define HHT_TOLEFT 0x0800
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define HHT_ONITEMSTATEICON 0x1000 #define HHT_ONITEMSTATEICON 0x1000
#define HHT_ONDROPDOWN 0x2000 #define HHT_ONDROPDOWN 0x2000
#define HHT_ONOVERFLOW 0x4000 #define HHT_ONOVERFLOW 0x4000
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define HD_HITTESTINFO HDHITTESTINFO #define HD_HITTESTINFO HDHITTESTINFO
#else
#define HDHITTESTINFO HD_HITTESTINFO
#endif
typedef struct _HD_HITTESTINFO typedef struct _HD_HITTESTINFO
{ {
POINT pt; POINT pt;
UINT flags; UINT flags;
int iItem; int iItem;
} HDHITTESTINFO, *LPHDHITTESTINFO; } HDHITTESTINFO, *LPHDHITTESTINFO;
#define HDSIL_NORMAL 0 #define HDSIL_NORMAL 0
#define HDSIL_STATE 1 #define HDSIL_STATE 1
#define HDM_HITTEST (HDM_FIRST + 6) #define HDM_HITTEST (HDM_FIRST + 6)
#if (_WIN32_IE >= 0x0300)
#define HDM_GETITEMRECT (HDM_FIRST + 7) #define HDM_GETITEMRECT (HDM_FIRST + 7)
#define Header_GetItemRect(hwnd, iItem, lprc) \ #define Header_GetItemRect(hwnd, iItem, lprc) \
(BOOL)SNDMSG((hwnd), HDM_GETITEMRECT, (WPARAM)(iItem), (LPARAM)(lprc)) (BOOL)SNDMSG((hwnd), HDM_GETITEMRECT, (WPARAM)(iItem), (LPARAM)(lprc))
#define HDM_SETIMAGELIST (HDM_FIRST + 8) #define HDM_SETIMAGELIST (HDM_FIRST + 8)
#define Header_SetImageList(hwnd, himl) \ #define Header_SetImageList(hwnd, himl) \
(HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, HDSIL_NORMAL, (LPARAM)(himl )) (HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, HDSIL_NORMAL, (LPARAM)(himl ))
#define Header_SetStateImageList(hwnd, himl) \ #define Header_SetStateImageList(hwnd, himl) \
(HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, HDSIL_STATE, (LPARAM)(himl) ) (HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, HDSIL_STATE, (LPARAM)(himl) )
skipping to change at line 1053 skipping to change at line 967
// index 0 should be shown in the 1st position // index 0 should be shown in the 1st position
// index 1 should be shown in the 2nd position // index 1 should be shown in the 2nd position
#define HDM_SETHOTDIVIDER (HDM_FIRST + 19) #define HDM_SETHOTDIVIDER (HDM_FIRST + 19)
#define Header_SetHotDivider(hwnd, fPos, dw) \ #define Header_SetHotDivider(hwnd, fPos, dw) \
(int)SNDMSG((hwnd), HDM_SETHOTDIVIDER, (WPARAM)(fPos), (LPARAM)(dw)) (int)SNDMSG((hwnd), HDM_SETHOTDIVIDER, (WPARAM)(fPos), (LPARAM)(dw))
// convenience message for external dragdrop // convenience message for external dragdrop
// wParam = BOOL specifying whether the lParam is a dwPos of the cursor // wParam = BOOL specifying whether the lParam is a dwPos of the cursor
// position or the index of which divider to hotlight // position or the index of which divider to hotlight
// lParam = depends on wParam (-1 and wParm = FALSE turns off hotlight) // lParam = depends on wParam (-1 and wParm = FALSE turns off hotlight)
#endif // _WIN32_IE >= 0x0300
#if (_WIN32_IE >= 0x0500)
#define HDM_SETBITMAPMARGIN (HDM_FIRST + 20) #define HDM_SETBITMAPMARGIN (HDM_FIRST + 20)
#define Header_SetBitmapMargin(hwnd, iWidth) \ #define Header_SetBitmapMargin(hwnd, iWidth) \
(int)SNDMSG((hwnd), HDM_SETBITMAPMARGIN, (WPARAM)(iWidth), 0) (int)SNDMSG((hwnd), HDM_SETBITMAPMARGIN, (WPARAM)(iWidth), 0)
#define HDM_GETBITMAPMARGIN (HDM_FIRST + 21) #define HDM_GETBITMAPMARGIN (HDM_FIRST + 21)
#define Header_GetBitmapMargin(hwnd) \ #define Header_GetBitmapMargin(hwnd) \
(int)SNDMSG((hwnd), HDM_GETBITMAPMARGIN, 0, 0) (int)SNDMSG((hwnd), HDM_GETBITMAPMARGIN, 0, 0)
#endif
#if (_WIN32_IE >= 0x0400)
#define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define Header_SetUnicodeFormat(hwnd, fUnicode) \ #define Header_SetUnicodeFormat(hwnd, fUnicode) \
(BOOL)SNDMSG((hwnd), HDM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) (BOOL)SNDMSG((hwnd), HDM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
#define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define Header_GetUnicodeFormat(hwnd) \ #define Header_GetUnicodeFormat(hwnd) \
(BOOL)SNDMSG((hwnd), HDM_GETUNICODEFORMAT, 0, 0) (BOOL)SNDMSG((hwnd), HDM_GETUNICODEFORMAT, 0, 0)
#endif
#if (_WIN32_IE >= 0x0500)
#define HDM_SETFILTERCHANGETIMEOUT (HDM_FIRST+22) #define HDM_SETFILTERCHANGETIMEOUT (HDM_FIRST+22)
#define Header_SetFilterChangeTimeout(hwnd, i) \ #define Header_SetFilterChangeTimeout(hwnd, i) \
(int)SNDMSG((hwnd), HDM_SETFILTERCHANGETIMEOUT, 0, (LPARAM)(i)) (int)SNDMSG((hwnd), HDM_SETFILTERCHANGETIMEOUT, 0, (LPARAM)(i))
#define HDM_EDITFILTER (HDM_FIRST+23) #define HDM_EDITFILTER (HDM_FIRST+23)
#define Header_EditFilter(hwnd, i, fDiscardChanges) \ #define Header_EditFilter(hwnd, i, fDiscardChanges) \
(int)SNDMSG((hwnd), HDM_EDITFILTER, (WPARAM)(i), MAKELPARAM(fDiscardChan ges, 0)) (int)SNDMSG((hwnd), HDM_EDITFILTER, (WPARAM)(i), MAKELPARAM(fDiscardChan ges, 0))
// Clear filter takes -1 as a column value to indicate that all // Clear filter takes -1 as a column value to indicate that all
// the filter should be cleared. When this happens you will // the filter should be cleared. When this happens you will
// only receive a single filter changed notification. // only receive a single filter changed notification.
#define HDM_CLEARFILTER (HDM_FIRST+24) #define HDM_CLEARFILTER (HDM_FIRST+24)
#define Header_ClearFilter(hwnd, i) \ #define Header_ClearFilter(hwnd, i) \
(int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)(i), 0) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)(i), 0)
#define Header_ClearAllFilters(hwnd) \ #define Header_ClearAllFilters(hwnd) \
(int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)-1, 0) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)-1, 0)
#endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define HDM_TRANSLATEACCELERATOR CCM_TRANSLATEACCELERATOR #define HDM_TRANSLATEACCELERATOR CCM_TRANSLATEACCELERATOR
#endif #endif
#if (_WIN32_WINNT >= 0x600) #if(NTDDI_VERSION >= NTDDI_VISTA)
#define HDM_GETITEMDROPDOWNRECT (HDM_FIRST+25) // rect of item's drop down butt on #define HDM_GETITEMDROPDOWNRECT (HDM_FIRST+25) // rect of item's drop down butt on
#define Header_GetItemDropDownRect(hwnd, iItem, lprc) \ #define Header_GetItemDropDownRect(hwnd, iItem, lprc) \
(BOOL)SNDMSG((hwnd), HDM_GETITEMDROPDOWNRECT, (WPARAM)(iItem), (LPARAM)( lprc)) (BOOL)SNDMSG((hwnd), HDM_GETITEMDROPDOWNRECT, (WPARAM)(iItem), (LPARAM)( lprc))
#define HDM_GETOVERFLOWRECT (HDM_FIRST+26) // rect of overflow button #define HDM_GETOVERFLOWRECT (HDM_FIRST+26) // rect of overflow button
#define Header_GetOverflowRect(hwnd, lprc) \ #define Header_GetOverflowRect(hwnd, lprc) \
(BOOL)SNDMSG((hwnd), HDM_GETOVERFLOWRECT, 0, (LPARAM)(lprc)) (BOOL)SNDMSG((hwnd), HDM_GETOVERFLOWRECT, 0, (LPARAM)(lprc))
#define HDM_GETFOCUSEDITEM (HDM_FIRST+27) #define HDM_GETFOCUSEDITEM (HDM_FIRST+27)
#define Header_GetFocusedItem(hwnd) \ #define Header_GetFocusedItem(hwnd) \
(int)SNDMSG((hwnd), HDM_GETFOCUSEDITEM, (WPARAM)(0), (LPARAM)(0)) (int)SNDMSG((hwnd), HDM_GETFOCUSEDITEM, (WPARAM)(0), (LPARAM)(0))
#define HDM_SETFOCUSEDITEM (HDM_FIRST+28) #define HDM_SETFOCUSEDITEM (HDM_FIRST+28)
#define Header_SetFocusedItem(hwnd, iItem) \ #define Header_SetFocusedItem(hwnd, iItem) \
(BOOL)SNDMSG((hwnd), HDM_SETFOCUSEDITEM, (WPARAM)(0), (LPARAM)(iItem)) (BOOL)SNDMSG((hwnd), HDM_SETFOCUSEDITEM, (WPARAM)(0), (LPARAM)(iItem))
#endif // _WIN32_WINNT >= 0x600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#define HDN_ITEMCHANGINGA (HDN_FIRST-0) #define HDN_ITEMCHANGINGA (HDN_FIRST-0)
#define HDN_ITEMCHANGINGW (HDN_FIRST-20) #define HDN_ITEMCHANGINGW (HDN_FIRST-20)
#define HDN_ITEMCHANGEDA (HDN_FIRST-1) #define HDN_ITEMCHANGEDA (HDN_FIRST-1)
#define HDN_ITEMCHANGEDW (HDN_FIRST-21) #define HDN_ITEMCHANGEDW (HDN_FIRST-21)
#define HDN_ITEMCLICKA (HDN_FIRST-2) #define HDN_ITEMCLICKA (HDN_FIRST-2)
#define HDN_ITEMCLICKW (HDN_FIRST-22) #define HDN_ITEMCLICKW (HDN_FIRST-22)
#define HDN_ITEMDBLCLICKA (HDN_FIRST-3) #define HDN_ITEMDBLCLICKA (HDN_FIRST-3)
#define HDN_ITEMDBLCLICKW (HDN_FIRST-23) #define HDN_ITEMDBLCLICKW (HDN_FIRST-23)
#define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5) #define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5)
#define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25) #define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25)
#define HDN_BEGINTRACKA (HDN_FIRST-6) #define HDN_BEGINTRACKA (HDN_FIRST-6)
#define HDN_BEGINTRACKW (HDN_FIRST-26) #define HDN_BEGINTRACKW (HDN_FIRST-26)
#define HDN_ENDTRACKA (HDN_FIRST-7) #define HDN_ENDTRACKA (HDN_FIRST-7)
#define HDN_ENDTRACKW (HDN_FIRST-27) #define HDN_ENDTRACKW (HDN_FIRST-27)
#define HDN_TRACKA (HDN_FIRST-8) #define HDN_TRACKA (HDN_FIRST-8)
#define HDN_TRACKW (HDN_FIRST-28) #define HDN_TRACKW (HDN_FIRST-28)
#if (_WIN32_IE >= 0x0300)
#define HDN_GETDISPINFOA (HDN_FIRST-9) #define HDN_GETDISPINFOA (HDN_FIRST-9)
#define HDN_GETDISPINFOW (HDN_FIRST-29) #define HDN_GETDISPINFOW (HDN_FIRST-29)
#define HDN_BEGINDRAG (HDN_FIRST-10) #define HDN_BEGINDRAG (HDN_FIRST-10)
#define HDN_ENDDRAG (HDN_FIRST-11) #define HDN_ENDDRAG (HDN_FIRST-11)
#endif
#if (_WIN32_IE >= 0x0500)
#define HDN_FILTERCHANGE (HDN_FIRST-12) #define HDN_FILTERCHANGE (HDN_FIRST-12)
#define HDN_FILTERBTNCLICK (HDN_FIRST-13) #define HDN_FILTERBTNCLICK (HDN_FIRST-13)
#endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define HDN_BEGINFILTEREDIT (HDN_FIRST-14) #define HDN_BEGINFILTEREDIT (HDN_FIRST-14)
#define HDN_ENDFILTEREDIT (HDN_FIRST-15) #define HDN_ENDFILTEREDIT (HDN_FIRST-15)
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define HDN_ITEMSTATEICONCLICK (HDN_FIRST-16) #define HDN_ITEMSTATEICONCLICK (HDN_FIRST-16)
#define HDN_ITEMKEYDOWN (HDN_FIRST-17) #define HDN_ITEMKEYDOWN (HDN_FIRST-17)
#define HDN_DROPDOWN (HDN_FIRST-18) #define HDN_DROPDOWN (HDN_FIRST-18)
#define HDN_OVERFLOWCLICK (HDN_FIRST-19) #define HDN_OVERFLOWCLICK (HDN_FIRST-19)
#endif #endif
#ifdef UNICODE #ifdef UNICODE
#define HDN_ITEMCHANGING HDN_ITEMCHANGINGW #define HDN_ITEMCHANGING HDN_ITEMCHANGINGW
#define HDN_ITEMCHANGED HDN_ITEMCHANGEDW #define HDN_ITEMCHANGED HDN_ITEMCHANGEDW
#define HDN_ITEMCLICK HDN_ITEMCLICKW #define HDN_ITEMCLICK HDN_ITEMCLICKW
#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKW #define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKW
#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKW #define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKW
#define HDN_BEGINTRACK HDN_BEGINTRACKW #define HDN_BEGINTRACK HDN_BEGINTRACKW
#define HDN_ENDTRACK HDN_ENDTRACKW #define HDN_ENDTRACK HDN_ENDTRACKW
#define HDN_TRACK HDN_TRACKW #define HDN_TRACK HDN_TRACKW
#if (_WIN32_IE >= 0x0300)
#define HDN_GETDISPINFO HDN_GETDISPINFOW #define HDN_GETDISPINFO HDN_GETDISPINFOW
#endif
#else #else
#define HDN_ITEMCHANGING HDN_ITEMCHANGINGA #define HDN_ITEMCHANGING HDN_ITEMCHANGINGA
#define HDN_ITEMCHANGED HDN_ITEMCHANGEDA #define HDN_ITEMCHANGED HDN_ITEMCHANGEDA
#define HDN_ITEMCLICK HDN_ITEMCLICKA #define HDN_ITEMCLICK HDN_ITEMCLICKA
#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKA #define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKA
#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKA #define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKA
#define HDN_BEGINTRACK HDN_BEGINTRACKA #define HDN_BEGINTRACK HDN_BEGINTRACKA
#define HDN_ENDTRACK HDN_ENDTRACKA #define HDN_ENDTRACK HDN_ENDTRACKA
#define HDN_TRACK HDN_TRACKA #define HDN_TRACK HDN_TRACKA
#if (_WIN32_IE >= 0x0300)
#define HDN_GETDISPINFO HDN_GETDISPINFOA #define HDN_GETDISPINFO HDN_GETDISPINFOA
#endif #endif
#endif
#if (_WIN32_IE >= 0x0300)
#define HD_NOTIFYA NMHEADERA #define HD_NOTIFYA NMHEADERA
#define HD_NOTIFYW NMHEADERW #define HD_NOTIFYW NMHEADERW
#else
#define tagNMHEADERA _HD_NOTIFY
#define NMHEADERA HD_NOTIFYA
#define tagHMHEADERW _HD_NOTIFYW
#define NMHEADERW HD_NOTIFYW
#endif
#define HD_NOTIFY NMHEADER #define HD_NOTIFY NMHEADER
typedef struct tagNMHEADERA typedef struct tagNMHEADERA
{ {
NMHDR hdr; NMHDR hdr;
int iItem; int iItem;
int iButton; int iButton;
HDITEMA *pitem; HDITEMA *pitem;
} NMHEADERA, *LPNMHEADERA; } NMHEADERA, *LPNMHEADERA;
skipping to change at line 1250 skipping to change at line 1141
} NMHDDISPINFOA, *LPNMHDDISPINFOA; } NMHDDISPINFOA, *LPNMHDDISPINFOA;
#ifdef UNICODE #ifdef UNICODE
#define NMHDDISPINFO NMHDDISPINFOW #define NMHDDISPINFO NMHDDISPINFOW
#define LPNMHDDISPINFO LPNMHDDISPINFOW #define LPNMHDDISPINFO LPNMHDDISPINFOW
#else #else
#define NMHDDISPINFO NMHDDISPINFOA #define NMHDDISPINFO NMHDDISPINFOA
#define LPNMHDDISPINFO LPNMHDDISPINFOA #define LPNMHDDISPINFO LPNMHDDISPINFOA
#endif #endif
#if (_WIN32_IE >= 0x0500)
typedef struct tagNMHDFILTERBTNCLICK typedef struct tagNMHDFILTERBTNCLICK
{ {
NMHDR hdr; NMHDR hdr;
INT iItem; INT iItem;
RECT rc; RECT rc;
} NMHDFILTERBTNCLICK, *LPNMHDFILTERBTNCLICK; } NMHDFILTERBTNCLICK, *LPNMHDFILTERBTNCLICK;
#endif
#endif // NOHEADER #endif // NOHEADER
//====== TOOLBAR CONTROL ====================================================== //====== TOOLBAR CONTROL ======================================================
#ifndef NOTOOLBAR #ifndef NOTOOLBAR
#ifdef _WIN32 #ifdef _WIN32
#define TOOLBARCLASSNAMEW L"ToolbarWindow32" #define TOOLBARCLASSNAMEW L"ToolbarWindow32"
#define TOOLBARCLASSNAMEA "ToolbarWindow32" #define TOOLBARCLASSNAMEA "ToolbarWindow32"
skipping to change at line 1305 skipping to change at line 1194
COLORREF from; COLORREF from;
COLORREF to; COLORREF to;
} COLORMAP, *LPCOLORMAP; } COLORMAP, *LPCOLORMAP;
WINCOMMCTRLAPI HWND WINAPI CreateToolbarEx(HWND hwnd, DWORD ws, UINT wID, int nB itmaps, WINCOMMCTRLAPI HWND WINAPI CreateToolbarEx(HWND hwnd, DWORD ws, UINT wID, int nB itmaps,
HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons , HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons ,
int iNumButtons, int dxButton, int dyButton, int iNumButtons, int dxButton, int dyButton,
int dxBitmap, int dyBitmap, UINT uStructSize); int dxBitmap, int dyBitmap, UINT uStructSize);
WINCOMMCTRLAPI HBITMAP WINAPI CreateMappedBitmap(HINSTANCE hInstance, INT_PTR id Bitmap, WINCOMMCTRLAPI HBITMAP WINAPI CreateMappedBitmap(HINSTANCE hInstance, INT_PTR id Bitmap,
UINT wFlags, __in_opt LPCOLORMAP lpColorMap, UINT wFlags, _In_opt_ LPCOLORMAP lpColorMap,
int iNumMaps); int iNumMaps);
#define CMB_MASKED 0x02 #define CMB_MASKED 0x02
#define TBSTATE_CHECKED 0x01 #define TBSTATE_CHECKED 0x01
#define TBSTATE_PRESSED 0x02 #define TBSTATE_PRESSED 0x02
#define TBSTATE_ENABLED 0x04 #define TBSTATE_ENABLED 0x04
#define TBSTATE_HIDDEN 0x08 #define TBSTATE_HIDDEN 0x08
#define TBSTATE_INDETERMINATE 0x10 #define TBSTATE_INDETERMINATE 0x10
#define TBSTATE_WRAP 0x20 #define TBSTATE_WRAP 0x20
#if (_WIN32_IE >= 0x0300)
#define TBSTATE_ELLIPSES 0x40 #define TBSTATE_ELLIPSES 0x40
#endif
#if (_WIN32_IE >= 0x0400)
#define TBSTATE_MARKED 0x80 #define TBSTATE_MARKED 0x80
#endif
// begin_r_commctrl // begin_r_commctrl
#define TBSTYLE_BUTTON 0x0000 // obsolete; use BTNS_BUTTON instead #define TBSTYLE_BUTTON 0x0000 // obsolete; use BTNS_BUTTON instead
#define TBSTYLE_SEP 0x0001 // obsolete; use BTNS_SEP instead #define TBSTYLE_SEP 0x0001 // obsolete; use BTNS_SEP instead
#define TBSTYLE_CHECK 0x0002 // obsolete; use BTNS_CHECK instead #define TBSTYLE_CHECK 0x0002 // obsolete; use BTNS_CHECK instead
#define TBSTYLE_GROUP 0x0004 // obsolete; use BTNS_GROUP instead #define TBSTYLE_GROUP 0x0004 // obsolete; use BTNS_GROUP instead
#define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK) // obsolete; use BTNS_CHECKGROUP instead #define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK) // obsolete; use BTNS_CHECKGROUP instead
#if (_WIN32_IE >= 0x0300)
#define TBSTYLE_DROPDOWN 0x0008 // obsolete; use BTNS_DROPDOWN instead #define TBSTYLE_DROPDOWN 0x0008 // obsolete; use BTNS_DROPDOWN instead
#endif
#if (_WIN32_IE >= 0x0400)
#define TBSTYLE_AUTOSIZE 0x0010 // obsolete; use BTNS_AUTOSIZE instead #define TBSTYLE_AUTOSIZE 0x0010 // obsolete; use BTNS_AUTOSIZE instead
#define TBSTYLE_NOPREFIX 0x0020 // obsolete; use BTNS_NOPREFIX instead #define TBSTYLE_NOPREFIX 0x0020 // obsolete; use BTNS_NOPREFIX instead
#endif
#define TBSTYLE_TOOLTIPS 0x0100 #define TBSTYLE_TOOLTIPS 0x0100
#define TBSTYLE_WRAPABLE 0x0200 #define TBSTYLE_WRAPABLE 0x0200
#define TBSTYLE_ALTDRAG 0x0400 #define TBSTYLE_ALTDRAG 0x0400
#if (_WIN32_IE >= 0x0300)
#define TBSTYLE_FLAT 0x0800 #define TBSTYLE_FLAT 0x0800
#define TBSTYLE_LIST 0x1000 #define TBSTYLE_LIST 0x1000
#define TBSTYLE_CUSTOMERASE 0x2000 #define TBSTYLE_CUSTOMERASE 0x2000
#endif
#if (_WIN32_IE >= 0x0400)
#define TBSTYLE_REGISTERDROP 0x4000 #define TBSTYLE_REGISTERDROP 0x4000
#define TBSTYLE_TRANSPARENT 0x8000 #define TBSTYLE_TRANSPARENT 0x8000
// end_r_commctrl // end_r_commctrl
#define TBSTYLE_EX_DRAWDDARROWS 0x00000001 #define TBSTYLE_EX_DRAWDDARROWS 0x00000001
// begin_r_commctrl // begin_r_commctrl
#endif
#if (_WIN32_IE >= 0x0500)
#define BTNS_BUTTON TBSTYLE_BUTTON // 0x0000 #define BTNS_BUTTON TBSTYLE_BUTTON // 0x0000
#define BTNS_SEP TBSTYLE_SEP // 0x0001 #define BTNS_SEP TBSTYLE_SEP // 0x0001
#define BTNS_CHECK TBSTYLE_CHECK // 0x0002 #define BTNS_CHECK TBSTYLE_CHECK // 0x0002
#define BTNS_GROUP TBSTYLE_GROUP // 0x0004 #define BTNS_GROUP TBSTYLE_GROUP // 0x0004
#define BTNS_CHECKGROUP TBSTYLE_CHECKGROUP // (TBSTYLE_GROUP | TBSTYLE_CHECK) #define BTNS_CHECKGROUP TBSTYLE_CHECKGROUP // (TBSTYLE_GROUP | TBSTYLE_CHECK)
#define BTNS_DROPDOWN TBSTYLE_DROPDOWN // 0x0008 #define BTNS_DROPDOWN TBSTYLE_DROPDOWN // 0x0008
#define BTNS_AUTOSIZE TBSTYLE_AUTOSIZE // 0x0010; automatically calculate t he cx of the button #define BTNS_AUTOSIZE TBSTYLE_AUTOSIZE // 0x0010; automatically calculate t he cx of the button
#define BTNS_NOPREFIX TBSTYLE_NOPREFIX // 0x0020; this button should not ha ve accel prefix #define BTNS_NOPREFIX TBSTYLE_NOPREFIX // 0x0020; this button should not ha ve accel prefix
#if (_WIN32_IE >= 0x0501)
#define BTNS_SHOWTEXT 0x0040 // ignored unless TBSTYLE_EX_MIXEDBU TTONS is set #define BTNS_SHOWTEXT 0x0040 // ignored unless TBSTYLE_EX_MIXEDBU TTONS is set
#endif // 0x0501
#define BTNS_WHOLEDROPDOWN 0x0080 // draw drop-down arrow, but without split arrow section #define BTNS_WHOLEDROPDOWN 0x0080 // draw drop-down arrow, but without split arrow section
#endif
// end_r_commctrl // end_r_commctrl
#if (_WIN32_IE >= 0x0501)
#define TBSTYLE_EX_MIXEDBUTTONS 0x00000008 #define TBSTYLE_EX_MIXEDBUTTONS 0x00000008
#define TBSTYLE_EX_HIDECLIPPEDBUTTONS 0x00000010 // don't show partially obscured buttons #define TBSTYLE_EX_HIDECLIPPEDBUTTONS 0x00000010 // don't show partially obscured buttons
#endif // 0x0501
#if (_WIN32_WINNT >= 0x0501) #define TBSTYLE_EX_MULTICOLUMN 0x00000002 // conflicts w/ TBSTYLE_W
RAPABLE
#define TBSTYLE_EX_VERTICAL 0x00000004
#if (NTDDI_VERSION >= NTDDI_WINXP)
#define TBSTYLE_EX_DOUBLEBUFFER 0x00000080 // Double Buffer the tool bar #define TBSTYLE_EX_DOUBLEBUFFER 0x00000080 // Double Buffer the tool bar
#endif #endif
#if (_WIN32_IE >= 0x0400)
// Custom Draw Structure // Custom Draw Structure
typedef struct _NMTBCUSTOMDRAW { typedef struct _NMTBCUSTOMDRAW {
NMCUSTOMDRAW nmcd; NMCUSTOMDRAW nmcd;
HBRUSH hbrMonoDither; HBRUSH hbrMonoDither;
HBRUSH hbrLines; // For drawing lines on buttons HBRUSH hbrLines; // For drawing lines on buttons
HPEN hpenLines; // For drawing lines on buttons HPEN hpenLines; // For drawing lines on buttons
COLORREF clrText; // Color of text COLORREF clrText; // Color of text
COLORREF clrMark; // Color of text bk when marked. (only if TB STATE_MARKED) COLORREF clrMark; // Color of text bk when marked. (only if TB STATE_MARKED)
COLORREF clrTextHighlight; // Color of text when highlighted COLORREF clrTextHighlight; // Color of text when highlighted
COLORREF clrBtnFace; // Background of the button COLORREF clrBtnFace; // Background of the button
COLORREF clrBtnHighlight; // 3D highlight COLORREF clrBtnHighlight; // 3D highlight
COLORREF clrHighlightHotTrack; // In conjunction with fHighlightHotTrack COLORREF clrHighlightHotTrack; // In conjunction with fHighlightHotTrack
// will cause button to highlight like a men u // will cause button to highlight like a men u
RECT rcText; // Rect for text RECT rcText; // Rect for text
int nStringBkMode; int nStringBkMode;
int nHLStringBkMode; int nHLStringBkMode;
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
int iListGap; int iListGap;
#endif #endif
} NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW; } NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW;
// Toolbar custom draw return flags // Toolbar custom draw return flags
#define TBCDRF_NOEDGES 0x00010000 // Don't draw button edges #define TBCDRF_NOEDGES 0x00010000 // Don't draw button edges
#define TBCDRF_HILITEHOTTRACK 0x00020000 // Use color of the button bk wh en hottracked #define TBCDRF_HILITEHOTTRACK 0x00020000 // Use color of the button bk wh en hottracked
#define TBCDRF_NOOFFSET 0x00040000 // Don't offset button if presse d #define TBCDRF_NOOFFSET 0x00040000 // Don't offset button if presse d
#define TBCDRF_NOMARK 0x00080000 // Don't draw default highlight of image/text for TBSTATE_MARKED #define TBCDRF_NOMARK 0x00080000 // Don't draw default highlight of image/text for TBSTATE_MARKED
#define TBCDRF_NOETCHEDEFFECT 0x00100000 // Don't draw etched effect for disabled items #define TBCDRF_NOETCHEDEFFECT 0x00100000 // Don't draw etched effect for disabled items
#endif
#if (_WIN32_IE >= 0x0500)
#define TBCDRF_BLENDICON 0x00200000 // Use ILD_BLEND50 on the icon i mage #define TBCDRF_BLENDICON 0x00200000 // Use ILD_BLEND50 on the icon i mage
#define TBCDRF_NOBACKGROUND 0x00400000 // Use ILD_BLEND50 on the icon i mage #define TBCDRF_NOBACKGROUND 0x00400000 // Use ILD_BLEND50 on the icon i mage
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
#define TBCDRF_USECDCOLORS 0x00800000 // Use CustomDrawColors to Rende rText regardless of VisualStyle #define TBCDRF_USECDCOLORS 0x00800000 // Use CustomDrawColors to Rende rText regardless of VisualStyle
#endif #endif
#define TB_ENABLEBUTTON (WM_USER + 1) #define TB_ENABLEBUTTON (WM_USER + 1)
#define TB_CHECKBUTTON (WM_USER + 2) #define TB_CHECKBUTTON (WM_USER + 2)
#define TB_PRESSBUTTON (WM_USER + 3) #define TB_PRESSBUTTON (WM_USER + 3)
#define TB_HIDEBUTTON (WM_USER + 4) #define TB_HIDEBUTTON (WM_USER + 4)
#define TB_INDETERMINATE (WM_USER + 5) #define TB_INDETERMINATE (WM_USER + 5)
#if (_WIN32_IE >= 0x0400)
#define TB_MARKBUTTON (WM_USER + 6) #define TB_MARKBUTTON (WM_USER + 6)
#endif
#define TB_ISBUTTONENABLED (WM_USER + 9) #define TB_ISBUTTONENABLED (WM_USER + 9)
#define TB_ISBUTTONCHECKED (WM_USER + 10) #define TB_ISBUTTONCHECKED (WM_USER + 10)
#define TB_ISBUTTONPRESSED (WM_USER + 11) #define TB_ISBUTTONPRESSED (WM_USER + 11)
#define TB_ISBUTTONHIDDEN (WM_USER + 12) #define TB_ISBUTTONHIDDEN (WM_USER + 12)
#define TB_ISBUTTONINDETERMINATE (WM_USER + 13) #define TB_ISBUTTONINDETERMINATE (WM_USER + 13)
#if (_WIN32_IE >= 0x0400)
#define TB_ISBUTTONHIGHLIGHTED (WM_USER + 14) #define TB_ISBUTTONHIGHLIGHTED (WM_USER + 14)
#endif
#define TB_SETSTATE (WM_USER + 17) #define TB_SETSTATE (WM_USER + 17)
#define TB_GETSTATE (WM_USER + 18) #define TB_GETSTATE (WM_USER + 18)
#define TB_ADDBITMAP (WM_USER + 19) #define TB_ADDBITMAP (WM_USER + 19)
#ifdef _WIN32 #ifdef _WIN32
typedef struct tagTBADDBITMAP { typedef struct tagTBADDBITMAP {
HINSTANCE hInst; HINSTANCE hInst;
UINT_PTR nID; UINT_PTR nID;
} TBADDBITMAP, *LPTBADDBITMAP; } TBADDBITMAP, *LPTBADDBITMAP;
#define HINST_COMMCTRL ((HINSTANCE)-1) #define HINST_COMMCTRL ((HINSTANCE)-1)
#define IDB_STD_SMALL_COLOR 0 #define IDB_STD_SMALL_COLOR 0
#define IDB_STD_LARGE_COLOR 1 #define IDB_STD_LARGE_COLOR 1
#define IDB_VIEW_SMALL_COLOR 4 #define IDB_VIEW_SMALL_COLOR 4
#define IDB_VIEW_LARGE_COLOR 5 #define IDB_VIEW_LARGE_COLOR 5
#if (_WIN32_IE >= 0x0300)
#define IDB_HIST_SMALL_COLOR 8 #define IDB_HIST_SMALL_COLOR 8
#define IDB_HIST_LARGE_COLOR 9 #define IDB_HIST_LARGE_COLOR 9
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if (_WIN32_WINNT >= 0x600)
#define IDB_HIST_NORMAL 12 #define IDB_HIST_NORMAL 12
#define IDB_HIST_HOT 13 #define IDB_HIST_HOT 13
#define IDB_HIST_DISABLED 14 #define IDB_HIST_DISABLED 14
#define IDB_HIST_PRESSED 15 #define IDB_HIST_PRESSED 15
#endif // _WIN32_WINNT >= 0x600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
// icon indexes for standard bitmap // icon indexes for standard bitmap
#define STD_CUT 0 #define STD_CUT 0
#define STD_COPY 1 #define STD_COPY 1
#define STD_PASTE 2 #define STD_PASTE 2
#define STD_UNDO 3 #define STD_UNDO 3
#define STD_REDOW 4 #define STD_REDOW 4
#define STD_DELETE 5 #define STD_DELETE 5
#define STD_FILENEW 6 #define STD_FILENEW 6
skipping to change at line 1496 skipping to change at line 1360
#define VIEW_LIST 2 #define VIEW_LIST 2
#define VIEW_DETAILS 3 #define VIEW_DETAILS 3
#define VIEW_SORTNAME 4 #define VIEW_SORTNAME 4
#define VIEW_SORTSIZE 5 #define VIEW_SORTSIZE 5
#define VIEW_SORTDATE 6 #define VIEW_SORTDATE 6
#define VIEW_SORTTYPE 7 #define VIEW_SORTTYPE 7
#define VIEW_PARENTFOLDER 8 #define VIEW_PARENTFOLDER 8
#define VIEW_NETCONNECT 9 #define VIEW_NETCONNECT 9
#define VIEW_NETDISCONNECT 10 #define VIEW_NETDISCONNECT 10
#define VIEW_NEWFOLDER 11 #define VIEW_NEWFOLDER 11
#if (_WIN32_IE >= 0x0400)
#define VIEW_VIEWMENU 12 #define VIEW_VIEWMENU 12
#endif
#if (_WIN32_IE >= 0x0300)
#define HIST_BACK 0 #define HIST_BACK 0
#define HIST_FORWARD 1 #define HIST_FORWARD 1
#define HIST_FAVORITES 2 #define HIST_FAVORITES 2
#define HIST_ADDTOFAVORITES 3 #define HIST_ADDTOFAVORITES 3
#define HIST_VIEWTREE 4 #define HIST_VIEWTREE 4
#endif
#endif #endif
#if (_WIN32_IE >= 0x0400)
#define TB_ADDBUTTONSA (WM_USER + 20) #define TB_ADDBUTTONSA (WM_USER + 20)
#define TB_INSERTBUTTONA (WM_USER + 21) #define TB_INSERTBUTTONA (WM_USER + 21)
#else
#define TB_ADDBUTTONS (WM_USER + 20)
#define TB_INSERTBUTTON (WM_USER + 21)
#endif
#define TB_DELETEBUTTON (WM_USER + 22) #define TB_DELETEBUTTON (WM_USER + 22)
#define TB_GETBUTTON (WM_USER + 23) #define TB_GETBUTTON (WM_USER + 23)
#define TB_BUTTONCOUNT (WM_USER + 24) #define TB_BUTTONCOUNT (WM_USER + 24)
#define TB_COMMANDTOINDEX (WM_USER + 25) #define TB_COMMANDTOINDEX (WM_USER + 25)
#ifdef _WIN32 #ifdef _WIN32
typedef struct tagTBSAVEPARAMSA { typedef struct tagTBSAVEPARAMSA {
HKEY hkr; HKEY hkr;
skipping to change at line 1568 skipping to change at line 1423
#define TB_SETTOOLTIPS (WM_USER + 36) #define TB_SETTOOLTIPS (WM_USER + 36)
#define TB_SETPARENT (WM_USER + 37) #define TB_SETPARENT (WM_USER + 37)
#define TB_SETROWS (WM_USER + 39) #define TB_SETROWS (WM_USER + 39)
#define TB_GETROWS (WM_USER + 40) #define TB_GETROWS (WM_USER + 40)
#define TB_SETCMDID (WM_USER + 42) #define TB_SETCMDID (WM_USER + 42)
#define TB_CHANGEBITMAP (WM_USER + 43) #define TB_CHANGEBITMAP (WM_USER + 43)
#define TB_GETBITMAP (WM_USER + 44) #define TB_GETBITMAP (WM_USER + 44)
#define TB_GETBUTTONTEXTA (WM_USER + 45) #define TB_GETBUTTONTEXTA (WM_USER + 45)
#define TB_GETBUTTONTEXTW (WM_USER + 75) #define TB_GETBUTTONTEXTW (WM_USER + 75)
#define TB_REPLACEBITMAP (WM_USER + 46) #define TB_REPLACEBITMAP (WM_USER + 46)
#if (_WIN32_IE >= 0x0300)
#define TB_SETINDENT (WM_USER + 47) #define TB_SETINDENT (WM_USER + 47)
#define TB_SETIMAGELIST (WM_USER + 48) #define TB_SETIMAGELIST (WM_USER + 48)
#define TB_GETIMAGELIST (WM_USER + 49) #define TB_GETIMAGELIST (WM_USER + 49)
#define TB_LOADIMAGES (WM_USER + 50) #define TB_LOADIMAGES (WM_USER + 50)
#define TB_GETRECT (WM_USER + 51) // wParam is the Cmd instead of i ndex #define TB_GETRECT (WM_USER + 51) // wParam is the Cmd instead of i ndex
#define TB_SETHOTIMAGELIST (WM_USER + 52) #define TB_SETHOTIMAGELIST (WM_USER + 52)
#define TB_GETHOTIMAGELIST (WM_USER + 53) #define TB_GETHOTIMAGELIST (WM_USER + 53)
#define TB_SETDISABLEDIMAGELIST (WM_USER + 54) #define TB_SETDISABLEDIMAGELIST (WM_USER + 54)
#define TB_GETDISABLEDIMAGELIST (WM_USER + 55) #define TB_GETDISABLEDIMAGELIST (WM_USER + 55)
#define TB_SETSTYLE (WM_USER + 56) #define TB_SETSTYLE (WM_USER + 56)
#define TB_GETSTYLE (WM_USER + 57) #define TB_GETSTYLE (WM_USER + 57)
#define TB_GETBUTTONSIZE (WM_USER + 58) #define TB_GETBUTTONSIZE (WM_USER + 58)
#define TB_SETBUTTONWIDTH (WM_USER + 59) #define TB_SETBUTTONWIDTH (WM_USER + 59)
#define TB_SETMAXTEXTROWS (WM_USER + 60) #define TB_SETMAXTEXTROWS (WM_USER + 60)
#define TB_GETTEXTROWS (WM_USER + 61) #define TB_GETTEXTROWS (WM_USER + 61)
#endif // _WIN32_IE >= 0x0300
#ifdef UNICODE #ifdef UNICODE
#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW #define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW
#define TB_SAVERESTORE TB_SAVERESTOREW #define TB_SAVERESTORE TB_SAVERESTOREW
#define TB_ADDSTRING TB_ADDSTRINGW #define TB_ADDSTRING TB_ADDSTRINGW
#else #else
#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA #define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA
#define TB_SAVERESTORE TB_SAVERESTOREA #define TB_SAVERESTORE TB_SAVERESTOREA
#define TB_ADDSTRING TB_ADDSTRINGA #define TB_ADDSTRING TB_ADDSTRINGA
#endif #endif
#if (_WIN32_IE >= 0x0400)
#define TB_GETOBJECT (WM_USER + 62) // wParam == IID, lParam void ** ppv #define TB_GETOBJECT (WM_USER + 62) // wParam == IID, lParam void ** ppv
#define TB_GETHOTITEM (WM_USER + 71) #define TB_GETHOTITEM (WM_USER + 71)
#define TB_SETHOTITEM (WM_USER + 72) // wParam == iHotItem #define TB_SETHOTITEM (WM_USER + 72) // wParam == iHotItem
#define TB_SETANCHORHIGHLIGHT (WM_USER + 73) // wParam == TRUE/FALSE #define TB_SETANCHORHIGHLIGHT (WM_USER + 73) // wParam == TRUE/FALSE
#define TB_GETANCHORHIGHLIGHT (WM_USER + 74) #define TB_GETANCHORHIGHLIGHT (WM_USER + 74)
#define TB_MAPACCELERATORA (WM_USER + 78) // wParam == ch, lParam int * pi dBtn #define TB_MAPACCELERATORA (WM_USER + 78) // wParam == ch, lParam int * pi dBtn
typedef struct { typedef struct {
int iButton; int iButton;
DWORD dwFlags; DWORD dwFlags;
skipping to change at line 1635 skipping to change at line 1487
#define TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define TB_MAPACCELERATORW (WM_USER + 90) // wParam == ch, lParam int * pi dBtn #define TB_MAPACCELERATORW (WM_USER + 90) // wParam == ch, lParam int * pi dBtn
#ifdef UNICODE #ifdef UNICODE
#define TB_MAPACCELERATOR TB_MAPACCELERATORW #define TB_MAPACCELERATOR TB_MAPACCELERATORW
#else #else
#define TB_MAPACCELERATOR TB_MAPACCELERATORA #define TB_MAPACCELERATOR TB_MAPACCELERATORA
#endif #endif
#endif // _WIN32_IE >= 0x0400
typedef struct { typedef struct {
HINSTANCE hInstOld; HINSTANCE hInstOld;
UINT_PTR nIDOld; UINT_PTR nIDOld;
HINSTANCE hInstNew; HINSTANCE hInstNew;
UINT_PTR nIDNew; UINT_PTR nIDNew;
int nButtons; int nButtons;
} TBREPLACEBITMAP, *LPTBREPLACEBITMAP; } TBREPLACEBITMAP, *LPTBREPLACEBITMAP;
#ifdef _WIN32 #ifdef _WIN32
#define TBBF_LARGE 0x0001 #define TBBF_LARGE 0x0001
#define TB_GETBITMAPFLAGS (WM_USER + 41) #define TB_GETBITMAPFLAGS (WM_USER + 41)
#if (_WIN32_IE >= 0x0400)
#define TBIF_IMAGE 0x00000001 #define TBIF_IMAGE 0x00000001
#define TBIF_TEXT 0x00000002 #define TBIF_TEXT 0x00000002
#define TBIF_STATE 0x00000004 #define TBIF_STATE 0x00000004
#define TBIF_STYLE 0x00000008 #define TBIF_STYLE 0x00000008
#define TBIF_LPARAM 0x00000010 #define TBIF_LPARAM 0x00000010
#define TBIF_COMMAND 0x00000020 #define TBIF_COMMAND 0x00000020
#define TBIF_SIZE 0x00000040 #define TBIF_SIZE 0x00000040
#if (_WIN32_IE >= 0x0500)
#define TBIF_BYINDEX 0x80000000 // this specifies that the wparam in Get/SetButtonInfo is an index, not id #define TBIF_BYINDEX 0x80000000 // this specifies that the wparam in Get/SetButtonInfo is an index, not id
#endif
typedef struct { typedef struct {
UINT cbSize; UINT cbSize;
DWORD dwMask; DWORD dwMask;
int idCommand; int idCommand;
int iImage; int iImage;
BYTE fsState; BYTE fsState;
BYTE fsStyle; BYTE fsStyle;
WORD cx; WORD cx;
DWORD_PTR lParam; DWORD_PTR lParam;
skipping to change at line 1729 skipping to change at line 1576
#ifdef UNICODE #ifdef UNICODE
#define TB_INSERTBUTTON TB_INSERTBUTTONW #define TB_INSERTBUTTON TB_INSERTBUTTONW
#define TB_ADDBUTTONS TB_ADDBUTTONSW #define TB_ADDBUTTONS TB_ADDBUTTONSW
#else #else
#define TB_INSERTBUTTON TB_INSERTBUTTONA #define TB_INSERTBUTTON TB_INSERTBUTTONA
#define TB_ADDBUTTONS TB_ADDBUTTONSA #define TB_ADDBUTTONS TB_ADDBUTTONSA
#endif #endif
#define TB_SETDRAWTEXTFLAGS (WM_USER + 70) // wParam == mask lParam == bit values #define TB_SETDRAWTEXTFLAGS (WM_USER + 70) // wParam == mask lParam == bit values
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0500)
#define TB_GETSTRINGW (WM_USER + 91) #define TB_GETSTRINGW (WM_USER + 91)
#define TB_GETSTRINGA (WM_USER + 92) #define TB_GETSTRINGA (WM_USER + 92)
#ifdef UNICODE #ifdef UNICODE
#define TB_GETSTRING TB_GETSTRINGW #define TB_GETSTRING TB_GETSTRINGW
#else #else
#define TB_GETSTRING TB_GETSTRINGA #define TB_GETSTRING TB_GETSTRINGA
#endif #endif
#define TB_SETBOUNDINGSIZE (WM_USER + 93)
#define TB_SETHOTITEM2 (WM_USER + 94) // wParam == iHotItem, lParam = dwFlags #define TB_SETHOTITEM2 (WM_USER + 94) // wParam == iHotItem, lParam = dwFlags
#define TB_HASACCELERATOR (WM_USER + 95) // wParam == char, lParam = &iCo unt
#define TB_SETLISTGAP (WM_USER + 96) #define TB_SETLISTGAP (WM_USER + 96)
#define TB_GETIMAGELISTCOUNT (WM_USER + 98) #define TB_GETIMAGELISTCOUNT (WM_USER + 98)
#define TB_GETIDEALSIZE (WM_USER + 99) // wParam == fHeight, lParam = p size #define TB_GETIDEALSIZE (WM_USER + 99) // wParam == fHeight, lParam = p size
// before using WM_USER + 103, recycle old space above (WM_USER + 97) // before using WM_USER + 103, recycle old space above (WM_USER + 97)
#define TB_TRANSLATEACCELERATOR CCM_TRANSLATEACCELERATOR #define TB_TRANSLATEACCELERATOR CCM_TRANSLATEACCELERATOR
#endif // _WIN32_IE >= 0x0500 #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
#define TBMF_PAD 0x00000001 #define TBMF_PAD 0x00000001
#define TBMF_BARPAD 0x00000002 #define TBMF_BARPAD 0x00000002
#define TBMF_BUTTONSPACING 0x00000004 #define TBMF_BUTTONSPACING 0x00000004
typedef struct { typedef struct {
UINT cbSize; UINT cbSize;
DWORD dwMask; DWORD dwMask;
int cxPad; // PAD int cxPad; // PAD
int cyPad; int cyPad;
int cxBarPad; // BARPAD int cxBarPad; // BARPAD
int cyBarPad; int cyBarPad;
int cxButtonSpacing; // BUTTONSPACING int cxButtonSpacing; // BUTTONSPACING
int cyButtonSpacing; int cyButtonSpacing;
} TBMETRICS, * LPTBMETRICS; } TBMETRICS, * LPTBMETRICS;
#define TB_GETMETRICS (WM_USER + 101) #define TB_GETMETRICS (WM_USER + 101)
#define TB_SETMETRICS (WM_USER + 102) #define TB_SETMETRICS (WM_USER + 102)
#endif #endif
#if (_WIN32_WINNT >= 0x600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TB_GETITEMDROPDOWNRECT (WM_USER + 103) // Rect of item's drop down but ton #define TB_GETITEMDROPDOWNRECT (WM_USER + 103) // Rect of item's drop down but ton
#define TB_SETPRESSEDIMAGELIST (WM_USER + 104) #define TB_SETPRESSEDIMAGELIST (WM_USER + 104)
#define TB_GETPRESSEDIMAGELIST (WM_USER + 105) #define TB_GETPRESSEDIMAGELIST (WM_USER + 105)
#endif // _WIN32_WINNT >= 0x600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define TB_SETWINDOWTHEME CCM_SETWINDOWTHEME #define TB_SETWINDOWTHEME CCM_SETWINDOWTHEME
#endif #endif
#define TBN_GETBUTTONINFOA (TBN_FIRST-0) #define TBN_GETBUTTONINFOA (TBN_FIRST-0)
#define TBN_BEGINDRAG (TBN_FIRST-1) #define TBN_BEGINDRAG (TBN_FIRST-1)
#define TBN_ENDDRAG (TBN_FIRST-2) #define TBN_ENDDRAG (TBN_FIRST-2)
#define TBN_BEGINADJUST (TBN_FIRST-3) #define TBN_BEGINADJUST (TBN_FIRST-3)
#define TBN_ENDADJUST (TBN_FIRST-4) #define TBN_ENDADJUST (TBN_FIRST-4)
#define TBN_RESET (TBN_FIRST-5) #define TBN_RESET (TBN_FIRST-5)
#define TBN_QUERYINSERT (TBN_FIRST-6) #define TBN_QUERYINSERT (TBN_FIRST-6)
#define TBN_QUERYDELETE (TBN_FIRST-7) #define TBN_QUERYDELETE (TBN_FIRST-7)
#define TBN_TOOLBARCHANGE (TBN_FIRST-8) #define TBN_TOOLBARCHANGE (TBN_FIRST-8)
#define TBN_CUSTHELP (TBN_FIRST-9) #define TBN_CUSTHELP (TBN_FIRST-9)
#if (_WIN32_IE >= 0x0300)
#define TBN_DROPDOWN (TBN_FIRST - 10) #define TBN_DROPDOWN (TBN_FIRST - 10)
#endif
#if (_WIN32_IE >= 0x0400)
#define TBN_GETOBJECT (TBN_FIRST - 12) #define TBN_GETOBJECT (TBN_FIRST - 12)
// Structure for TBN_HOTITEMCHANGE notification // Structure for TBN_HOTITEMCHANGE notification
// //
typedef struct tagNMTBHOTITEM typedef struct tagNMTBHOTITEM
{ {
NMHDR hdr; NMHDR hdr;
int idOld; int idOld;
int idNew; int idNew;
DWORD dwFlags; // HICF_* DWORD dwFlags; // HICF_*
skipping to change at line 1827 skipping to change at line 1667
#define HICF_TOGGLEDROPDOWN 0x00000100 // Toggle button's dropdown stat e #define HICF_TOGGLEDROPDOWN 0x00000100 // Toggle button's dropdown stat e
#define TBN_HOTITEMCHANGE (TBN_FIRST - 13) #define TBN_HOTITEMCHANGE (TBN_FIRST - 13)
#define TBN_DRAGOUT (TBN_FIRST - 14) // this is sent when the user c licks down on a button then drags off the button #define TBN_DRAGOUT (TBN_FIRST - 14) // this is sent when the user c licks down on a button then drags off the button
#define TBN_DELETINGBUTTON (TBN_FIRST - 15) // uses TBNOTIFY #define TBN_DELETINGBUTTON (TBN_FIRST - 15) // uses TBNOTIFY
#define TBN_GETDISPINFOA (TBN_FIRST - 16) // This is sent when the toolb ar needs some display information #define TBN_GETDISPINFOA (TBN_FIRST - 16) // This is sent when the toolb ar needs some display information
#define TBN_GETDISPINFOW (TBN_FIRST - 17) // This is sent when the toolb ar needs some display information #define TBN_GETDISPINFOW (TBN_FIRST - 17) // This is sent when the toolb ar needs some display information
#define TBN_GETINFOTIPA (TBN_FIRST - 18) #define TBN_GETINFOTIPA (TBN_FIRST - 18)
#define TBN_GETINFOTIPW (TBN_FIRST - 19) #define TBN_GETINFOTIPW (TBN_FIRST - 19)
#define TBN_GETBUTTONINFOW (TBN_FIRST - 20) #define TBN_GETBUTTONINFOW (TBN_FIRST - 20)
#if (_WIN32_IE >= 0x0500)
#define TBN_RESTORE (TBN_FIRST - 21) #define TBN_RESTORE (TBN_FIRST - 21)
#define TBN_SAVE (TBN_FIRST - 22) #define TBN_SAVE (TBN_FIRST - 22)
#define TBN_INITCUSTOMIZE (TBN_FIRST - 23) #define TBN_INITCUSTOMIZE (TBN_FIRST - 23)
#define TBNRF_HIDEHELP 0x00000001 #define TBNRF_HIDEHELP 0x00000001
#define TBNRF_ENDCUSTOMIZE 0x00000002 #define TBNRF_ENDCUSTOMIZE 0x00000002
#define TBN_WRAPHOTITEM (TBN_FIRST - 24) #define TBN_WRAPHOTITEM (TBN_FIRST - 24)
#define TBN_DUPACCELERATOR (TBN_FIRST - 25) #define TBN_DUPACCELERATOR (TBN_FIRST - 25)
#define TBN_WRAPACCELERATOR (TBN_FIRST - 26) #define TBN_WRAPACCELERATOR (TBN_FIRST - 26)
#define TBN_DRAGOVER (TBN_FIRST - 27) #define TBN_DRAGOVER (TBN_FIRST - 27)
#define TBN_MAPACCELERATOR (TBN_FIRST - 28) #define TBN_MAPACCELERATOR (TBN_FIRST - 28)
#endif // (_WIN32_IE >= 0x0500)
#if (_WIN32_IE >= 0x0500)
typedef struct tagNMTBSAVE typedef struct tagNMTBSAVE
{ {
NMHDR hdr; NMHDR hdr;
DWORD* pData; DWORD* pData;
DWORD* pCurrent; DWORD* pCurrent;
UINT cbData; UINT cbData;
int iItem; int iItem;
int cButtons; int cButtons;
TBBUTTON tbButton; TBBUTTON tbButton;
skipping to change at line 1864 skipping to change at line 1700
{ {
NMHDR hdr; NMHDR hdr;
DWORD* pData; DWORD* pData;
DWORD* pCurrent; DWORD* pCurrent;
UINT cbData; UINT cbData;
int iItem; int iItem;
int cButtons; int cButtons;
int cbBytesPerRecord; int cbBytesPerRecord;
TBBUTTON tbButton; TBBUTTON tbButton;
} NMTBRESTORE, *LPNMTBRESTORE; } NMTBRESTORE, *LPNMTBRESTORE;
#endif // (_WIN32_IE >= 0x0500)
typedef struct tagNMTBGETINFOTIPA typedef struct tagNMTBGETINFOTIPA
{ {
NMHDR hdr; NMHDR hdr;
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
int iItem; int iItem;
LPARAM lParam; LPARAM lParam;
} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA; } NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
skipping to change at line 1933 skipping to change at line 1768
#define TBN_GETDISPINFO TBN_GETDISPINFOA #define TBN_GETDISPINFO TBN_GETDISPINFOA
#define NMTBDISPINFO NMTBDISPINFOA #define NMTBDISPINFO NMTBDISPINFOA
#define LPNMTBDISPINFO LPNMTBDISPINFOA #define LPNMTBDISPINFO LPNMTBDISPINFOA
#endif #endif
// Return codes for TBN_DROPDOWN // Return codes for TBN_DROPDOWN
#define TBDDRET_DEFAULT 0 #define TBDDRET_DEFAULT 0
#define TBDDRET_NODEFAULT 1 #define TBDDRET_NODEFAULT 1
#define TBDDRET_TREATPRESSED 2 // Treat as a standard press button #define TBDDRET_TREATPRESSED 2 // Treat as a standard press button
#endif
#ifdef UNICODE #ifdef UNICODE
#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW #define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
#else #else
#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA #define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define TBNOTIFYA NMTOOLBARA #define TBNOTIFYA NMTOOLBARA
#define TBNOTIFYW NMTOOLBARW #define TBNOTIFYW NMTOOLBARW
#define LPTBNOTIFYA LPNMTOOLBARA #define LPTBNOTIFYA LPNMTOOLBARA
#define LPTBNOTIFYW LPNMTOOLBARW #define LPTBNOTIFYW LPNMTOOLBARW
#else
#define tagNMTOOLBARA tagTBNOTIFYA
#define NMTOOLBARA TBNOTIFYA
#define LPNMTOOLBARA LPTBNOTIFYA
#define tagNMTOOLBARW tagTBNOTIFYW
#define NMTOOLBARW TBNOTIFYW
#define LPNMTOOLBARW LPTBNOTIFYW
#endif
#define TBNOTIFY NMTOOLBAR #define TBNOTIFY NMTOOLBAR
#define LPTBNOTIFY LPNMTOOLBAR #define LPTBNOTIFY LPNMTOOLBAR
#if (_WIN32_IE >= 0x0300)
typedef struct tagNMTOOLBARA { typedef struct tagNMTOOLBARA {
NMHDR hdr; NMHDR hdr;
int iItem; int iItem;
TBBUTTON tbButton; TBBUTTON tbButton;
int cchText; int cchText;
LPSTR pszText; LPSTR pszText;
#if (_WIN32_IE >= 0x500)
RECT rcButton; RECT rcButton;
#endif
} NMTOOLBARA, *LPNMTOOLBARA; } NMTOOLBARA, *LPNMTOOLBARA;
#endif
#if (_WIN32_IE >= 0x0300)
typedef struct tagNMTOOLBARW { typedef struct tagNMTOOLBARW {
NMHDR hdr; NMHDR hdr;
int iItem; int iItem;
TBBUTTON tbButton; TBBUTTON tbButton;
int cchText; int cchText;
LPWSTR pszText; LPWSTR pszText;
#if (_WIN32_IE >= 0x500)
RECT rcButton; RECT rcButton;
#endif
} NMTOOLBARW, *LPNMTOOLBARW; } NMTOOLBARW, *LPNMTOOLBARW;
#endif
#ifdef UNICODE #ifdef UNICODE
#define NMTOOLBAR NMTOOLBARW #define NMTOOLBAR NMTOOLBARW
#define LPNMTOOLBAR LPNMTOOLBARW #define LPNMTOOLBAR LPNMTOOLBARW
#else #else
#define NMTOOLBAR NMTOOLBARA #define NMTOOLBAR NMTOOLBARA
#define LPNMTOOLBAR LPNMTOOLBARA #define LPNMTOOLBAR LPNMTOOLBARA
#endif #endif
#endif #endif
#endif // NOTOOLBAR #endif // NOTOOLBAR
#if (_WIN32_IE >= 0x0300)
//====== REBAR CONTROL ======================================================== //====== REBAR CONTROL ========================================================
#ifndef NOREBAR #ifndef NOREBAR
#ifdef _WIN32 #ifdef _WIN32
#define REBARCLASSNAMEW L"ReBarWindow32" #define REBARCLASSNAMEW L"ReBarWindow32"
#define REBARCLASSNAMEA "ReBarWindow32" #define REBARCLASSNAMEA "ReBarWindow32"
#ifdef UNICODE #ifdef UNICODE
#define REBARCLASSNAME REBARCLASSNAMEW #define REBARCLASSNAME REBARCLASSNAMEW
skipping to change at line 2023 skipping to change at line 1838
#endif #endif
#define RBIM_IMAGELIST 0x00000001 #define RBIM_IMAGELIST 0x00000001
// begin_r_commctrl // begin_r_commctrl
#define RBS_TOOLTIPS 0x00000100 #define RBS_TOOLTIPS 0x00000100
#define RBS_VARHEIGHT 0x00000200 #define RBS_VARHEIGHT 0x00000200
#define RBS_BANDBORDERS 0x00000400 #define RBS_BANDBORDERS 0x00000400
#define RBS_FIXEDORDER 0x00000800 #define RBS_FIXEDORDER 0x00000800
#if (_WIN32_IE >= 0x0400)
#define RBS_REGISTERDROP 0x00001000 #define RBS_REGISTERDROP 0x00001000
#define RBS_AUTOSIZE 0x00002000 #define RBS_AUTOSIZE 0x00002000
#define RBS_VERTICALGRIPPER 0x00004000 // this always has the vertica l gripper (default for horizontal mode) #define RBS_VERTICALGRIPPER 0x00004000 // this always has the vertica l gripper (default for horizontal mode)
#define RBS_DBLCLKTOGGLE 0x00008000 #define RBS_DBLCLKTOGGLE 0x00008000
#endif // _WIN32_IE >= 0x0400
// end_r_commctrl // end_r_commctrl
typedef struct tagREBARINFO typedef struct tagREBARINFO
{ {
UINT cbSize; UINT cbSize;
UINT fMask; UINT fMask;
#ifndef NOIMAGEAPIS #ifndef NOIMAGEAPIS
HIMAGELIST himl; HIMAGELIST himl;
#else #else
HANDLE himl; HANDLE himl;
#endif #endif
} REBARINFO, *LPREBARINFO; } REBARINFO, *LPREBARINFO;
#define RBBS_BREAK 0x00000001 // break to new line #define RBBS_BREAK 0x00000001 // break to new line
#define RBBS_FIXEDSIZE 0x00000002 // band can't be sized #define RBBS_FIXEDSIZE 0x00000002 // band can't be sized
#define RBBS_CHILDEDGE 0x00000004 // edge around top & bottom of child win dow #define RBBS_CHILDEDGE 0x00000004 // edge around top & bottom of child win dow
#define RBBS_HIDDEN 0x00000008 // don't show #define RBBS_HIDDEN 0x00000008 // don't show
#define RBBS_NOVERT 0x00000010 // don't show when vertical #define RBBS_NOVERT 0x00000010 // don't show when vertical
#define RBBS_FIXEDBMP 0x00000020 // bitmap doesn't move during band resiz e #define RBBS_FIXEDBMP 0x00000020 // bitmap doesn't move during band resiz e
#if (_WIN32_IE >= 0x0400) //
#define RBBS_VARIABLEHEIGHT 0x00000040 // allow autosizing of this child vertic ally #define RBBS_VARIABLEHEIGHT 0x00000040 // allow autosizing of this child vertic ally
#define RBBS_GRIPPERALWAYS 0x00000080 // always show the gripper #define RBBS_GRIPPERALWAYS 0x00000080 // always show the gripper
#define RBBS_NOGRIPPER 0x00000100 // never show the gripper #define RBBS_NOGRIPPER 0x00000100 // never show the gripper
#if (_WIN32_IE >= 0x0500) //
#define RBBS_USECHEVRON 0x00000200 // display drop-down button for this ban d if it's sized smaller than ideal width #define RBBS_USECHEVRON 0x00000200 // display drop-down button for this ban d if it's sized smaller than ideal width
#if (_WIN32_IE >= 0x0501) //
#define RBBS_HIDETITLE 0x00000400 // keep band title hidden #define RBBS_HIDETITLE 0x00000400 // keep band title hidden
#define RBBS_TOPALIGN 0x00000800 // keep band in top row #define RBBS_TOPALIGN 0x00000800 // keep band in top row
#endif // 0x0501 // #if (NTDDI_VERSION >= NTDDI_VISTA)
#endif // 0x0500 //
#endif // 0x0400 //
#if (_WIN32_WINNT >= 0x0600)
#endif #endif
#define RBBIM_STYLE 0x00000001 #define RBBIM_STYLE 0x00000001
#define RBBIM_COLORS 0x00000002 #define RBBIM_COLORS 0x00000002
#define RBBIM_TEXT 0x00000004 #define RBBIM_TEXT 0x00000004
#define RBBIM_IMAGE 0x00000008 #define RBBIM_IMAGE 0x00000008
#define RBBIM_CHILD 0x00000010 #define RBBIM_CHILD 0x00000010
#define RBBIM_CHILDSIZE 0x00000020 #define RBBIM_CHILDSIZE 0x00000020
#define RBBIM_SIZE 0x00000040 #define RBBIM_SIZE 0x00000040
#define RBBIM_BACKGROUND 0x00000080 #define RBBIM_BACKGROUND 0x00000080
#define RBBIM_ID 0x00000100 #define RBBIM_ID 0x00000100
#if (_WIN32_IE >= 0x0400)
#define RBBIM_IDEALSIZE 0x00000200 #define RBBIM_IDEALSIZE 0x00000200
#define RBBIM_LPARAM 0x00000400 #define RBBIM_LPARAM 0x00000400
#define RBBIM_HEADERSIZE 0x00000800 // control the size of the header #define RBBIM_HEADERSIZE 0x00000800 // control the size of the header
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if (_WIN32_WINNT >= 0x0600)
#define RBBIM_CHEVRONLOCATION 0x00001000 #define RBBIM_CHEVRONLOCATION 0x00001000
#define RBBIM_CHEVRONSTATE 0x00002000 #define RBBIM_CHEVRONSTATE 0x00002000
#endif #endif
typedef struct tagREBARBANDINFOA typedef struct tagREBARBANDINFOA
{ {
UINT cbSize; UINT cbSize;
UINT fMask; UINT fMask;
UINT fStyle; UINT fStyle;
COLORREF clrFore; COLORREF clrFore;
COLORREF clrBack; COLORREF clrBack;
LPSTR lpText; LPSTR lpText;
UINT cch; UINT cch;
int iImage; int iImage;
HWND hwndChild; HWND hwndChild;
UINT cxMinChild; UINT cxMinChild;
UINT cyMinChild; UINT cyMinChild;
UINT cx; UINT cx;
HBITMAP hbmBack; HBITMAP hbmBack;
UINT wID; UINT wID;
#if (_WIN32_IE >= 0x0400)
UINT cyChild; UINT cyChild;
UINT cyMaxChild; UINT cyMaxChild;
UINT cyIntegral; UINT cyIntegral;
UINT cxIdeal; UINT cxIdeal;
LPARAM lParam; LPARAM lParam;
UINT cxHeader; UINT cxHeader;
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if (_WIN32_WINNT >= 0x0600)
RECT rcChevronLocation; // the rect is in client co-ord wrt hwndChil d RECT rcChevronLocation; // the rect is in client co-ord wrt hwndChil d
UINT uChevronState; // STATE_SYSTEM_* UINT uChevronState; // STATE_SYSTEM_*
#endif #endif
} REBARBANDINFOA, *LPREBARBANDINFOA; } REBARBANDINFOA, *LPREBARBANDINFOA;
typedef REBARBANDINFOA CONST *LPCREBARBANDINFOA; typedef REBARBANDINFOA CONST *LPCREBARBANDINFOA;
#define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, wID) #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, wID)
#define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID) #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
#define REBARBANDINFOA_V6_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, cxHeader) #define REBARBANDINFOA_V6_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, cxHeader)
skipping to change at line 2136 skipping to change at line 1938
COLORREF clrBack; COLORREF clrBack;
LPWSTR lpText; LPWSTR lpText;
UINT cch; UINT cch;
int iImage; int iImage;
HWND hwndChild; HWND hwndChild;
UINT cxMinChild; UINT cxMinChild;
UINT cyMinChild; UINT cyMinChild;
UINT cx; UINT cx;
HBITMAP hbmBack; HBITMAP hbmBack;
UINT wID; UINT wID;
#if (_WIN32_IE >= 0x0400)
UINT cyChild; UINT cyChild;
UINT cyMaxChild; UINT cyMaxChild;
UINT cyIntegral; UINT cyIntegral;
UINT cxIdeal; UINT cxIdeal;
LPARAM lParam; LPARAM lParam;
UINT cxHeader; UINT cxHeader;
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if (_WIN32_WINNT >= 0x0600)
RECT rcChevronLocation; // the rect is in client co-ord wrt hwndCh ild RECT rcChevronLocation; // the rect is in client co-ord wrt hwndCh ild
UINT uChevronState; // STATE_SYSTEM_* UINT uChevronState; // STATE_SYSTEM_*
#endif #endif
} REBARBANDINFOW, *LPREBARBANDINFOW; } REBARBANDINFOW, *LPREBARBANDINFOW;
typedef REBARBANDINFOW CONST *LPCREBARBANDINFOW; typedef REBARBANDINFOW CONST *LPCREBARBANDINFOW;
#ifdef UNICODE #ifdef UNICODE
#define REBARBANDINFO REBARBANDINFOW #define REBARBANDINFO REBARBANDINFOW
#define LPREBARBANDINFO LPREBARBANDINFOW #define LPREBARBANDINFO LPREBARBANDINFOW
#define LPCREBARBANDINFO LPCREBARBANDINFOW #define LPCREBARBANDINFO LPCREBARBANDINFOW
skipping to change at line 2169 skipping to change at line 1969
#define LPREBARBANDINFO LPREBARBANDINFOA #define LPREBARBANDINFO LPREBARBANDINFOA
#define LPCREBARBANDINFO LPCREBARBANDINFOA #define LPCREBARBANDINFO LPCREBARBANDINFOA
#define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE #define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
#define REBARBANDINFO_V6_SIZE REBARBANDINFOA_V6_SIZE #define REBARBANDINFO_V6_SIZE REBARBANDINFOA_V6_SIZE
#endif #endif
#define RB_INSERTBANDA (WM_USER + 1) #define RB_INSERTBANDA (WM_USER + 1)
#define RB_DELETEBAND (WM_USER + 2) #define RB_DELETEBAND (WM_USER + 2)
#define RB_GETBARINFO (WM_USER + 3) #define RB_GETBARINFO (WM_USER + 3)
#define RB_SETBARINFO (WM_USER + 4) #define RB_SETBARINFO (WM_USER + 4)
#if (_WIN32_IE < 0x0400)
#define RB_GETBANDINFO (WM_USER + 5)
#endif
#define RB_SETBANDINFOA (WM_USER + 6) #define RB_SETBANDINFOA (WM_USER + 6)
#define RB_SETPARENT (WM_USER + 7) #define RB_SETPARENT (WM_USER + 7)
#if (_WIN32_IE >= 0x0400)
#define RB_HITTEST (WM_USER + 8) #define RB_HITTEST (WM_USER + 8)
#define RB_GETRECT (WM_USER + 9) #define RB_GETRECT (WM_USER + 9)
#endif
#define RB_INSERTBANDW (WM_USER + 10) #define RB_INSERTBANDW (WM_USER + 10)
#define RB_SETBANDINFOW (WM_USER + 11) #define RB_SETBANDINFOW (WM_USER + 11)
#define RB_GETBANDCOUNT (WM_USER + 12) #define RB_GETBANDCOUNT (WM_USER + 12)
#define RB_GETROWCOUNT (WM_USER + 13) #define RB_GETROWCOUNT (WM_USER + 13)
#define RB_GETROWHEIGHT (WM_USER + 14) #define RB_GETROWHEIGHT (WM_USER + 14)
#if (_WIN32_IE >= 0x0400)
#define RB_IDTOINDEX (WM_USER + 16) // wParam == id #define RB_IDTOINDEX (WM_USER + 16) // wParam == id
#define RB_GETTOOLTIPS (WM_USER + 17) #define RB_GETTOOLTIPS (WM_USER + 17)
#define RB_SETTOOLTIPS (WM_USER + 18) #define RB_SETTOOLTIPS (WM_USER + 18)
#define RB_SETBKCOLOR (WM_USER + 19) // sets the default BK color #define RB_SETBKCOLOR (WM_USER + 19) // sets the default BK color
#define RB_GETBKCOLOR (WM_USER + 20) // defaults to CLR_NONE #define RB_GETBKCOLOR (WM_USER + 20) // defaults to CLR_NONE
#define RB_SETTEXTCOLOR (WM_USER + 21) #define RB_SETTEXTCOLOR (WM_USER + 21)
#define RB_GETTEXTCOLOR (WM_USER + 22) // defaults to 0x00000000 #define RB_GETTEXTCOLOR (WM_USER + 22) // defaults to 0x00000000
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define RBSTR_CHANGERECT 0x0001 // flags for RB_SIZETORECT #define RBSTR_CHANGERECT 0x0001 // flags for RB_SIZETORECT
#endif #endif
#define RB_SIZETORECT (WM_USER + 23) // resize the rebar/break bands and such to this rect (lparam) #define RB_SIZETORECT (WM_USER + 23) // resize the rebar/break bands and such to this rect (lparam)
#endif // _WIN32_IE >= 0x0400
#define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME // lParam is color scheme #define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME // lParam is color scheme
#define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME // fills in COLORSCHEME pointed to by lParam #define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME // fills in COLORSCHEME pointed to by lParam
#ifdef UNICODE #ifdef UNICODE
#define RB_INSERTBAND RB_INSERTBANDW #define RB_INSERTBAND RB_INSERTBANDW
#define RB_SETBANDINFO RB_SETBANDINFOW #define RB_SETBANDINFO RB_SETBANDINFOW
#else #else
#define RB_INSERTBAND RB_INSERTBANDA #define RB_INSERTBAND RB_INSERTBANDA
#define RB_SETBANDINFO RB_SETBANDINFOA #define RB_SETBANDINFO RB_SETBANDINFOA
#endif #endif
#if (_WIN32_IE >= 0x0400)
// for manual drag control // for manual drag control
// lparam == cursor pos // lparam == cursor pos
// -1 means do it yourself. // -1 means do it yourself.
// -2 means use what you had saved before // -2 means use what you had saved before
#define RB_BEGINDRAG (WM_USER + 24) #define RB_BEGINDRAG (WM_USER + 24)
#define RB_ENDDRAG (WM_USER + 25) #define RB_ENDDRAG (WM_USER + 25)
#define RB_DRAGMOVE (WM_USER + 26) #define RB_DRAGMOVE (WM_USER + 26)
#define RB_GETBARHEIGHT (WM_USER + 27) #define RB_GETBARHEIGHT (WM_USER + 27)
#define RB_GETBANDINFOW (WM_USER + 28) #define RB_GETBANDINFOW (WM_USER + 28)
#define RB_GETBANDINFOA (WM_USER + 29) #define RB_GETBANDINFOA (WM_USER + 29)
skipping to change at line 2243 skipping to change at line 2035
#define RB_GETBANDBORDERS (WM_USER + 34) // returns in lparam = lprc the amount of edges added to band wparam #define RB_GETBANDBORDERS (WM_USER + 34) // returns in lparam = lprc the amount of edges added to band wparam
#define RB_SHOWBAND (WM_USER + 35) // show/hide band #define RB_SHOWBAND (WM_USER + 35) // show/hide band
#define RB_SETPALETTE (WM_USER + 37) #define RB_SETPALETTE (WM_USER + 37)
#define RB_GETPALETTE (WM_USER + 38) #define RB_GETPALETTE (WM_USER + 38)
#define RB_MOVEBAND (WM_USER + 39) #define RB_MOVEBAND (WM_USER + 39)
#define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#endif // _WIN32_IE >= 0x0400 #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
#define RB_GETBANDMARGINS (WM_USER + 40) #define RB_GETBANDMARGINS (WM_USER + 40)
#define RB_SETWINDOWTHEME CCM_SETWINDOWTHEME #define RB_SETWINDOWTHEME CCM_SETWINDOWTHEME
#endif #endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define RB_SETEXTENDEDSTYLE (WM_USER + 41) #define RB_SETEXTENDEDSTYLE (WM_USER + 41)
#define RB_GETEXTENDEDSTYLE (WM_USER + 42) #define RB_GETEXTENDEDSTYLE (WM_USER + 42)
#endif // _WIN32_IE >= 0x0600 #endif // _WIN32_IE >= 0x0600
#if (_WIN32_IE >= 0x0500)
#define RB_PUSHCHEVRON (WM_USER + 43) #define RB_PUSHCHEVRON (WM_USER + 43)
#endif // _WIN32_IE >= 0x0500
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define RB_SETBANDWIDTH (WM_USER + 44) // set width for docked band #define RB_SETBANDWIDTH (WM_USER + 44) // set width for docked band
#endif // _WIN32_WINNT >= 0x0600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#define RBN_HEIGHTCHANGE (RBN_FIRST - 0) #define RBN_HEIGHTCHANGE (RBN_FIRST - 0)
#if (_WIN32_IE >= 0x0400)
#define RBN_GETOBJECT (RBN_FIRST - 1) #define RBN_GETOBJECT (RBN_FIRST - 1)
#define RBN_LAYOUTCHANGED (RBN_FIRST - 2) #define RBN_LAYOUTCHANGED (RBN_FIRST - 2)
#define RBN_AUTOSIZE (RBN_FIRST - 3) #define RBN_AUTOSIZE (RBN_FIRST - 3)
#define RBN_BEGINDRAG (RBN_FIRST - 4) #define RBN_BEGINDRAG (RBN_FIRST - 4)
#define RBN_ENDDRAG (RBN_FIRST - 5) #define RBN_ENDDRAG (RBN_FIRST - 5)
#define RBN_DELETINGBAND (RBN_FIRST - 6) // Uses NMREBAR #define RBN_DELETINGBAND (RBN_FIRST - 6) // Uses NMREBAR
#define RBN_DELETEDBAND (RBN_FIRST - 7) // Uses NMREBAR #define RBN_DELETEDBAND (RBN_FIRST - 7) // Uses NMREBAR
#define RBN_CHILDSIZE (RBN_FIRST - 8) #define RBN_CHILDSIZE (RBN_FIRST - 8)
#if (_WIN32_IE >= 0x0500)
#define RBN_CHEVRONPUSHED (RBN_FIRST - 10) #define RBN_CHEVRONPUSHED (RBN_FIRST - 10)
#endif // _WIN32_IE >= 0x0500
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define RBN_SPLITTERDRAG (RBN_FIRST - 11) #define RBN_SPLITTERDRAG (RBN_FIRST - 11)
#endif // _WIN32_IE >= 0x0600 #endif // _WIN32_IE >= 0x0600
#if (_WIN32_IE >= 0x0500)
#define RBN_MINMAX (RBN_FIRST - 21) #define RBN_MINMAX (RBN_FIRST - 21)
#endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define RBN_AUTOBREAK (RBN_FIRST - 22) #define RBN_AUTOBREAK (RBN_FIRST - 22)
#endif #endif
typedef struct tagNMREBARCHILDSIZE typedef struct tagNMREBARCHILDSIZE
{ {
NMHDR hdr; NMHDR hdr;
UINT uBand; UINT uBand;
UINT wID; UINT wID;
RECT rcChild; RECT rcChild;
RECT rcBand; RECT rcBand;
skipping to change at line 2323 skipping to change at line 2106
#define RBNM_LPARAM 0x00000004 #define RBNM_LPARAM 0x00000004
typedef struct tagNMRBAUTOSIZE typedef struct tagNMRBAUTOSIZE
{ {
NMHDR hdr; NMHDR hdr;
BOOL fChanged; BOOL fChanged;
RECT rcTarget; RECT rcTarget;
RECT rcActual; RECT rcActual;
} NMRBAUTOSIZE, *LPNMRBAUTOSIZE; } NMRBAUTOSIZE, *LPNMRBAUTOSIZE;
#if (_WIN32_IE >= 0x0500)
typedef struct tagNMREBARCHEVRON typedef struct tagNMREBARCHEVRON
{ {
NMHDR hdr; NMHDR hdr;
UINT uBand; UINT uBand;
UINT wID; UINT wID;
LPARAM lParam; LPARAM lParam;
RECT rc; RECT rc;
LPARAM lParamNM; LPARAM lParamNM;
} NMREBARCHEVRON, *LPNMREBARCHEVRON; } NMREBARCHEVRON, *LPNMREBARCHEVRON;
#endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
typedef struct tagNMREBARSPLITTER typedef struct tagNMREBARSPLITTER
{ {
NMHDR hdr; NMHDR hdr;
RECT rcSizing; RECT rcSizing;
} NMREBARSPLITTER, *LPNMREBARSPLITTER; } NMREBARSPLITTER, *LPNMREBARSPLITTER;
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define RBAB_AUTOSIZE 0x0001 // These are not flags and are all mutually exc lusive #define RBAB_AUTOSIZE 0x0001 // These are not flags and are all mutually exc lusive
#define RBAB_ADDBAND 0x0002 #define RBAB_ADDBAND 0x0002
typedef struct tagNMREBARAUTOBREAK typedef struct tagNMREBARAUTOBREAK
{ {
NMHDR hdr; NMHDR hdr;
UINT uBand; UINT uBand;
UINT wID; UINT wID;
LPARAM lParam; LPARAM lParam;
UINT uMsg; UINT uMsg;
UINT fStyleCurrent; UINT fStyleCurrent;
BOOL fAutoBreak; BOOL fAutoBreak;
} NMREBARAUTOBREAK, *LPNMREBARAUTOBREAK; } NMREBARAUTOBREAK, *LPNMREBARAUTOBREAK;
#endif #endif
#define RBHT_NOWHERE 0x0001 #define RBHT_NOWHERE 0x0001
#define RBHT_CAPTION 0x0002 #define RBHT_CAPTION 0x0002
#define RBHT_CLIENT 0x0003 #define RBHT_CLIENT 0x0003
#define RBHT_GRABBER 0x0004 #define RBHT_GRABBER 0x0004
#if (_WIN32_IE >= 0x0500)
#define RBHT_CHEVRON 0x0008 #define RBHT_CHEVRON 0x0008
#endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define RBHT_SPLITTER 0x0010 #define RBHT_SPLITTER 0x0010
#endif #endif
typedef struct _RB_HITTESTINFO typedef struct _RB_HITTESTINFO
{ {
POINT pt; POINT pt;
UINT flags; UINT flags;
int iBand; int iBand;
} RBHITTESTINFO, *LPRBHITTESTINFO; } RBHITTESTINFO, *LPRBHITTESTINFO;
#endif // _WIN32_IE >= 0x0400
#endif // NOREBAR #endif // NOREBAR
#endif // _WIN32_IE >= 0x0300
//====== TOOLTIPS CONTROL ===================================================== //====== TOOLTIPS CONTROL =====================================================
#ifndef NOTOOLTIPS #ifndef NOTOOLTIPS
#ifdef _WIN32 #ifdef _WIN32
#define TOOLTIPS_CLASSW L"tooltips_class32" #define TOOLTIPS_CLASSW L"tooltips_class32"
#define TOOLTIPS_CLASSA "tooltips_class32" #define TOOLTIPS_CLASSA "tooltips_class32"
#ifdef UNICODE #ifdef UNICODE
#define TOOLTIPS_CLASS TOOLTIPS_CLASSW #define TOOLTIPS_CLASS TOOLTIPS_CLASSW
#else #else
#define TOOLTIPS_CLASS TOOLTIPS_CLASSA #define TOOLTIPS_CLASS TOOLTIPS_CLASSA
#endif #endif
#else #else
#define TOOLTIPS_CLASS "tooltips_class" #define TOOLTIPS_CLASS "tooltips_class"
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define LPTOOLINFOA LPTTTOOLINFOA #define LPTOOLINFOA LPTTTOOLINFOA
#define LPTOOLINFOW LPTTTOOLINFOW #define LPTOOLINFOW LPTTTOOLINFOW
#define TOOLINFOA TTTOOLINFOA #define TOOLINFOA TTTOOLINFOA
#define TOOLINFOW TTTOOLINFOW #define TOOLINFOW TTTOOLINFOW
#else
#define TTTOOLINFOA TOOLINFOA
#define LPTTTOOLINFOA LPTOOLINFOA
#define TTTOOLINFOW TOOLINFOW
#define LPTTTOOLINFOW LPTOOLINFOW
#endif
#define LPTOOLINFO LPTTTOOLINFO #define LPTOOLINFO LPTTTOOLINFO
#define TOOLINFO TTTOOLINFO #define TOOLINFO TTTOOLINFO
#define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText) #define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText)
#define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText) #define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText)
#define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam) #define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam)
#define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam) #define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam)
#define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved) #define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved)
#define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved) #define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved)
typedef struct tagTOOLINFOA { typedef struct tagTOOLINFOA {
UINT cbSize; UINT cbSize;
UINT uFlags; UINT uFlags;
HWND hwnd; HWND hwnd;
UINT_PTR uId; UINT_PTR uId;
RECT rect; RECT rect;
HINSTANCE hinst; HINSTANCE hinst;
LPSTR lpszText; LPSTR lpszText;
#if (_WIN32_IE >= 0x0300)
LPARAM lParam; LPARAM lParam;
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
void *lpReserved; void *lpReserved;
#endif #endif
} TTTOOLINFOA, NEAR *PTOOLINFOA, *LPTTTOOLINFOA; } TTTOOLINFOA, NEAR *PTOOLINFOA, *LPTTTOOLINFOA;
typedef struct tagTOOLINFOW { typedef struct tagTOOLINFOW {
UINT cbSize; UINT cbSize;
UINT uFlags; UINT uFlags;
HWND hwnd; HWND hwnd;
UINT_PTR uId; UINT_PTR uId;
RECT rect; RECT rect;
HINSTANCE hinst; HINSTANCE hinst;
LPWSTR lpszText; LPWSTR lpszText;
#if (_WIN32_IE >= 0x0300)
LPARAM lParam; LPARAM lParam;
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
void *lpReserved; void *lpReserved;
#endif #endif
} TTTOOLINFOW, NEAR *PTOOLINFOW, *LPTTTOOLINFOW; } TTTOOLINFOW, NEAR *PTOOLINFOW, *LPTTTOOLINFOW;
#ifdef UNICODE #ifdef UNICODE
#define TTTOOLINFO TTTOOLINFOW #define TTTOOLINFO TTTOOLINFOW
#define PTOOLINFO PTOOLINFOW #define PTOOLINFO PTOOLINFOW
#define LPTTTOOLINFO LPTTTOOLINFOW #define LPTTTOOLINFO LPTTTOOLINFOW
#define TTTOOLINFO_V1_SIZE TTTOOLINFOW_V1_SIZE #define TTTOOLINFO_V1_SIZE TTTOOLINFOW_V1_SIZE
#else #else
#define PTOOLINFO PTOOLINFOA #define PTOOLINFO PTOOLINFOA
#define TTTOOLINFO TTTOOLINFOA #define TTTOOLINFO TTTOOLINFOA
#define LPTTTOOLINFO LPTTTOOLINFOA #define LPTTTOOLINFO LPTTTOOLINFOA
#define TTTOOLINFO_V1_SIZE TTTOOLINFOA_V1_SIZE #define TTTOOLINFO_V1_SIZE TTTOOLINFOA_V1_SIZE
#endif #endif
// begin_r_commctrl // begin_r_commctrl
#define TTS_ALWAYSTIP 0x01 #define TTS_ALWAYSTIP 0x01
#define TTS_NOPREFIX 0x02 #define TTS_NOPREFIX 0x02
#if (_WIN32_IE >= 0x0500)
#define TTS_NOANIMATE 0x10 #define TTS_NOANIMATE 0x10
#define TTS_NOFADE 0x20 #define TTS_NOFADE 0x20
#define TTS_BALLOON 0x40 #define TTS_BALLOON 0x40
#define TTS_CLOSE 0x80 #define TTS_CLOSE 0x80
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
#define TTS_USEVISUALSTYLE 0x100 // Use themed hyperlinks #define TTS_USEVISUALSTYLE 0x100 // Use themed hyperlinks
#endif #endif
// end_r_commctrl // end_r_commctrl
#define TTF_IDISHWND 0x0001 #define TTF_IDISHWND 0x0001
// Use this to center around trackpoint in trackmode // Use this to center around trackpoint in trackmode
// -OR- to center around tool in normal mode. // -OR- to center around tool in normal mode.
// Use TTF_ABSOLUTE to place the tip exactly at the track coords when // Use TTF_ABSOLUTE to place the tip exactly at the track coords when
// in tracking mode. TTF_ABSOLUTE can be used in conjunction with TTF_CENTERTIP // in tracking mode. TTF_ABSOLUTE can be used in conjunction with TTF_CENTERTIP
// to center the tip absolutely about the track point. // to center the tip absolutely about the track point.
#define TTF_CENTERTIP 0x0002 #define TTF_CENTERTIP 0x0002
#define TTF_RTLREADING 0x0004 #define TTF_RTLREADING 0x0004
#define TTF_SUBCLASS 0x0010 #define TTF_SUBCLASS 0x0010
#if (_WIN32_IE >= 0x0300)
#define TTF_TRACK 0x0020 #define TTF_TRACK 0x0020
#define TTF_ABSOLUTE 0x0080 #define TTF_ABSOLUTE 0x0080
#define TTF_TRANSPARENT 0x0100 #define TTF_TRANSPARENT 0x0100
#if (_WIN32_IE >= 0x0501)
#define TTF_PARSELINKS 0x1000 #define TTF_PARSELINKS 0x1000
#endif // _WIN32_IE >= 0x0501
#define TTF_DI_SETITEM 0x8000 // valid only on the TTN_NEEDTEXT c allback #define TTF_DI_SETITEM 0x8000 // valid only on the TTN_NEEDTEXT c allback
#endif // _WIN32_IE >= 0x0300
#define TTDT_AUTOMATIC 0 #define TTDT_AUTOMATIC 0
#define TTDT_RESHOW 1 #define TTDT_RESHOW 1
#define TTDT_AUTOPOP 2 #define TTDT_AUTOPOP 2
#define TTDT_INITIAL 3 #define TTDT_INITIAL 3
// ToolTip Icons (Set with TTM_SETTITLE) // ToolTip Icons (Set with TTM_SETTITLE)
#define TTI_NONE 0 #define TTI_NONE 0
#define TTI_INFO 1 #define TTI_INFO 1
#define TTI_WARNING 2 #define TTI_WARNING 2
#define TTI_ERROR 3 #define TTI_ERROR 3
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TTI_INFO_LARGE 4 #define TTI_INFO_LARGE 4
#define TTI_WARNING_LARGE 5 #define TTI_WARNING_LARGE 5
#define TTI_ERROR_LARGE 6 #define TTI_ERROR_LARGE 6
#endif // (_WIN32_WINNT >= 0x0600) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
// Tool Tip Messages // Tool Tip Messages
#define TTM_ACTIVATE (WM_USER + 1) #define TTM_ACTIVATE (WM_USER + 1)
#define TTM_SETDELAYTIME (WM_USER + 3) #define TTM_SETDELAYTIME (WM_USER + 3)
#define TTM_ADDTOOLA (WM_USER + 4) #define TTM_ADDTOOLA (WM_USER + 4)
#define TTM_ADDTOOLW (WM_USER + 50) #define TTM_ADDTOOLW (WM_USER + 50)
#define TTM_DELTOOLA (WM_USER + 5) #define TTM_DELTOOLA (WM_USER + 5)
#define TTM_DELTOOLW (WM_USER + 51) #define TTM_DELTOOLW (WM_USER + 51)
#define TTM_NEWTOOLRECTA (WM_USER + 6) #define TTM_NEWTOOLRECTA (WM_USER + 6)
#define TTM_NEWTOOLRECTW (WM_USER + 52) #define TTM_NEWTOOLRECTW (WM_USER + 52)
skipping to change at line 2551 skipping to change at line 2309
#define TTM_GETTEXTA (WM_USER +11) #define TTM_GETTEXTA (WM_USER +11)
#define TTM_GETTEXTW (WM_USER +56) #define TTM_GETTEXTW (WM_USER +56)
#define TTM_UPDATETIPTEXTA (WM_USER +12) #define TTM_UPDATETIPTEXTA (WM_USER +12)
#define TTM_UPDATETIPTEXTW (WM_USER +57) #define TTM_UPDATETIPTEXTW (WM_USER +57)
#define TTM_GETTOOLCOUNT (WM_USER +13) #define TTM_GETTOOLCOUNT (WM_USER +13)
#define TTM_ENUMTOOLSA (WM_USER +14) #define TTM_ENUMTOOLSA (WM_USER +14)
#define TTM_ENUMTOOLSW (WM_USER +58) #define TTM_ENUMTOOLSW (WM_USER +58)
#define TTM_GETCURRENTTOOLA (WM_USER + 15) #define TTM_GETCURRENTTOOLA (WM_USER + 15)
#define TTM_GETCURRENTTOOLW (WM_USER + 59) #define TTM_GETCURRENTTOOLW (WM_USER + 59)
#define TTM_WINDOWFROMPOINT (WM_USER + 16) #define TTM_WINDOWFROMPOINT (WM_USER + 16)
#if (_WIN32_IE >= 0x0300)
#define TTM_TRACKACTIVATE (WM_USER + 17) // wParam = TRUE/FALSE start end lparam = LPTOOLINFO #define TTM_TRACKACTIVATE (WM_USER + 17) // wParam = TRUE/FALSE start end lparam = LPTOOLINFO
#define TTM_TRACKPOSITION (WM_USER + 18) // lParam = dwPos #define TTM_TRACKPOSITION (WM_USER + 18) // lParam = dwPos
#define TTM_SETTIPBKCOLOR (WM_USER + 19) #define TTM_SETTIPBKCOLOR (WM_USER + 19)
#define TTM_SETTIPTEXTCOLOR (WM_USER + 20) #define TTM_SETTIPTEXTCOLOR (WM_USER + 20)
#define TTM_GETDELAYTIME (WM_USER + 21) #define TTM_GETDELAYTIME (WM_USER + 21)
#define TTM_GETTIPBKCOLOR (WM_USER + 22) #define TTM_GETTIPBKCOLOR (WM_USER + 22)
#define TTM_GETTIPTEXTCOLOR (WM_USER + 23) #define TTM_GETTIPTEXTCOLOR (WM_USER + 23)
#define TTM_SETMAXTIPWIDTH (WM_USER + 24) #define TTM_SETMAXTIPWIDTH (WM_USER + 24)
#define TTM_GETMAXTIPWIDTH (WM_USER + 25) #define TTM_GETMAXTIPWIDTH (WM_USER + 25)
#define TTM_SETMARGIN (WM_USER + 26) // lParam = lprc #define TTM_SETMARGIN (WM_USER + 26) // lParam = lprc
#define TTM_GETMARGIN (WM_USER + 27) // lParam = lprc #define TTM_GETMARGIN (WM_USER + 27) // lParam = lprc
#define TTM_POP (WM_USER + 28) #define TTM_POP (WM_USER + 28)
#endif
#if (_WIN32_IE >= 0x0400)
#define TTM_UPDATE (WM_USER + 29) #define TTM_UPDATE (WM_USER + 29)
#endif
#if (_WIN32_IE >= 0x0500)
#define TTM_GETBUBBLESIZE (WM_USER + 30) #define TTM_GETBUBBLESIZE (WM_USER + 30)
#define TTM_ADJUSTRECT (WM_USER + 31) #define TTM_ADJUSTRECT (WM_USER + 31)
#define TTM_SETTITLEA (WM_USER + 32) // wParam = TTI_*, lParam = char * szTitle #define TTM_SETTITLEA (WM_USER + 32) // wParam = TTI_*, lParam = char * szTitle
#define TTM_SETTITLEW (WM_USER + 33) // wParam = TTI_*, lParam = wcha r* szTitle #define TTM_SETTITLEW (WM_USER + 33) // wParam = TTI_*, lParam = wcha r* szTitle
#endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define TTM_POPUP (WM_USER + 34) #define TTM_POPUP (WM_USER + 34)
#define TTM_GETTITLE (WM_USER + 35) // wParam = 0, lParam = TTGETTITL E* #define TTM_GETTITLE (WM_USER + 35) // wParam = 0, lParam = TTGETTITL E*
typedef struct _TTGETTITLE typedef struct _TTGETTITLE
{ {
DWORD dwSize; DWORD dwSize;
UINT uTitleBitmap; UINT uTitleBitmap;
UINT cch; UINT cch;
WCHAR* pszTitle; WCHAR* pszTitle;
} TTGETTITLE, *PTTGETTITLE; } TTGETTITLE, *PTTGETTITLE;
skipping to change at line 2599 skipping to change at line 2351
#define TTM_ADDTOOL TTM_ADDTOOLW #define TTM_ADDTOOL TTM_ADDTOOLW
#define TTM_DELTOOL TTM_DELTOOLW #define TTM_DELTOOL TTM_DELTOOLW
#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTW #define TTM_NEWTOOLRECT TTM_NEWTOOLRECTW
#define TTM_GETTOOLINFO TTM_GETTOOLINFOW #define TTM_GETTOOLINFO TTM_GETTOOLINFOW
#define TTM_SETTOOLINFO TTM_SETTOOLINFOW #define TTM_SETTOOLINFO TTM_SETTOOLINFOW
#define TTM_HITTEST TTM_HITTESTW #define TTM_HITTEST TTM_HITTESTW
#define TTM_GETTEXT TTM_GETTEXTW #define TTM_GETTEXT TTM_GETTEXTW
#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTW #define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTW
#define TTM_ENUMTOOLS TTM_ENUMTOOLSW #define TTM_ENUMTOOLS TTM_ENUMTOOLSW
#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLW #define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLW
#if (_WIN32_IE >= 0x0500)
#define TTM_SETTITLE TTM_SETTITLEW #define TTM_SETTITLE TTM_SETTITLEW
#endif
#else #else
#define TTM_ADDTOOL TTM_ADDTOOLA #define TTM_ADDTOOL TTM_ADDTOOLA
#define TTM_DELTOOL TTM_DELTOOLA #define TTM_DELTOOL TTM_DELTOOLA
#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTA #define TTM_NEWTOOLRECT TTM_NEWTOOLRECTA
#define TTM_GETTOOLINFO TTM_GETTOOLINFOA #define TTM_GETTOOLINFO TTM_GETTOOLINFOA
#define TTM_SETTOOLINFO TTM_SETTOOLINFOA #define TTM_SETTOOLINFO TTM_SETTOOLINFOA
#define TTM_HITTEST TTM_HITTESTA #define TTM_HITTEST TTM_HITTESTA
#define TTM_GETTEXT TTM_GETTEXTA #define TTM_GETTEXT TTM_GETTEXTA
#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTA #define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTA
#define TTM_ENUMTOOLS TTM_ENUMTOOLSA #define TTM_ENUMTOOLS TTM_ENUMTOOLSA
#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA #define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA
#if (_WIN32_IE >= 0x0500)
#define TTM_SETTITLE TTM_SETTITLEA #define TTM_SETTITLE TTM_SETTITLEA
#endif #endif
#endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define TTM_SETWINDOWTHEME CCM_SETWINDOWTHEME #define TTM_SETWINDOWTHEME CCM_SETWINDOWTHEME
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define LPHITTESTINFOW LPTTHITTESTINFOW #define LPHITTESTINFOW LPTTHITTESTINFOW
#define LPHITTESTINFOA LPTTHITTESTINFOA #define LPHITTESTINFOA LPTTHITTESTINFOA
#else
#define LPTTHITTESTINFOA LPHITTESTINFOA
#define LPTTHITTESTINFOW LPHITTESTINFOW
#endif
#define LPHITTESTINFO LPTTHITTESTINFO #define LPHITTESTINFO LPTTHITTESTINFO
typedef struct _TT_HITTESTINFOA { typedef struct _TT_HITTESTINFOA {
HWND hwnd; HWND hwnd;
POINT pt; POINT pt;
TTTOOLINFOA ti; TTTOOLINFOA ti;
} TTHITTESTINFOA, *LPTTHITTESTINFOA; } TTHITTESTINFOA, *LPTTHITTESTINFOA;
typedef struct _TT_HITTESTINFOW { typedef struct _TT_HITTESTINFOW {
HWND hwnd; HWND hwnd;
skipping to change at line 2668 skipping to change at line 2410
#ifdef UNICODE #ifdef UNICODE
#define TTN_GETDISPINFO TTN_GETDISPINFOW #define TTN_GETDISPINFO TTN_GETDISPINFOW
#else #else
#define TTN_GETDISPINFO TTN_GETDISPINFOA #define TTN_GETDISPINFO TTN_GETDISPINFOA
#endif #endif
#define TTN_NEEDTEXT TTN_GETDISPINFO #define TTN_NEEDTEXT TTN_GETDISPINFO
#define TTN_NEEDTEXTA TTN_GETDISPINFOA #define TTN_NEEDTEXTA TTN_GETDISPINFOA
#define TTN_NEEDTEXTW TTN_GETDISPINFOW #define TTN_NEEDTEXTW TTN_GETDISPINFOW
#if (_WIN32_IE >= 0x0300)
#define TOOLTIPTEXTW NMTTDISPINFOW #define TOOLTIPTEXTW NMTTDISPINFOW
#define TOOLTIPTEXTA NMTTDISPINFOA #define TOOLTIPTEXTA NMTTDISPINFOA
#define LPTOOLTIPTEXTA LPNMTTDISPINFOA #define LPTOOLTIPTEXTA LPNMTTDISPINFOA
#define LPTOOLTIPTEXTW LPNMTTDISPINFOW #define LPTOOLTIPTEXTW LPNMTTDISPINFOW
#else
#define tagNMTTDISPINFOA tagTOOLTIPTEXTA
#define NMTTDISPINFOA TOOLTIPTEXTA
#define LPNMTTDISPINFOA LPTOOLTIPTEXTA
#define tagNMTTDISPINFOW tagTOOLTIPTEXTW
#define NMTTDISPINFOW TOOLTIPTEXTW
#define LPNMTTDISPINFOW LPTOOLTIPTEXTW
#endif
#define TOOLTIPTEXT NMTTDISPINFO #define TOOLTIPTEXT NMTTDISPINFO
#define LPTOOLTIPTEXT LPNMTTDISPINFO #define LPTOOLTIPTEXT LPNMTTDISPINFO
#define NMTTDISPINFOA_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOA, uFlags) #define NMTTDISPINFOA_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOA, uFlags)
#define NMTTDISPINFOW_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags) #define NMTTDISPINFOW_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags)
typedef struct tagNMTTDISPINFOA { typedef struct tagNMTTDISPINFOA {
NMHDR hdr; NMHDR hdr;
LPSTR lpszText; LPSTR lpszText;
char szText[80]; char szText[80];
HINSTANCE hinst; HINSTANCE hinst;
UINT uFlags; UINT uFlags;
#if (_WIN32_IE >= 0x0300)
LPARAM lParam; LPARAM lParam;
#endif
} NMTTDISPINFOA, *LPNMTTDISPINFOA; } NMTTDISPINFOA, *LPNMTTDISPINFOA;
typedef struct tagNMTTDISPINFOW { typedef struct tagNMTTDISPINFOW {
NMHDR hdr; NMHDR hdr;
LPWSTR lpszText; LPWSTR lpszText;
WCHAR szText[80]; WCHAR szText[80];
HINSTANCE hinst; HINSTANCE hinst;
UINT uFlags; UINT uFlags;
#if (_WIN32_IE >= 0x0300)
LPARAM lParam; LPARAM lParam;
#endif
} NMTTDISPINFOW, *LPNMTTDISPINFOW; } NMTTDISPINFOW, *LPNMTTDISPINFOW;
#ifdef UNICODE #ifdef UNICODE
#define NMTTDISPINFO NMTTDISPINFOW #define NMTTDISPINFO NMTTDISPINFOW
#define LPNMTTDISPINFO LPNMTTDISPINFOW #define LPNMTTDISPINFO LPNMTTDISPINFOW
#define NMTTDISPINFO_V1_SIZE NMTTDISPINFOW_V1_SIZE #define NMTTDISPINFO_V1_SIZE NMTTDISPINFOW_V1_SIZE
#else #else
#define NMTTDISPINFO NMTTDISPINFOA #define NMTTDISPINFO NMTTDISPINFOA
#define LPNMTTDISPINFO LPNMTTDISPINFOA #define LPNMTTDISPINFO LPNMTTDISPINFOA
#define NMTTDISPINFO_V1_SIZE NMTTDISPINFOA_V1_SIZE #define NMTTDISPINFO_V1_SIZE NMTTDISPINFOA_V1_SIZE
skipping to change at line 2729 skipping to change at line 2458
#endif // NOTOOLTIPS #endif // NOTOOLTIPS
//====== STATUS BAR CONTROL =================================================== //====== STATUS BAR CONTROL ===================================================
#ifndef NOSTATUSBAR #ifndef NOSTATUSBAR
// begin_r_commctrl // begin_r_commctrl
#define SBARS_SIZEGRIP 0x0100 #define SBARS_SIZEGRIP 0x0100
#if (_WIN32_IE >= 0x0500)
#define SBARS_TOOLTIPS 0x0800 #define SBARS_TOOLTIPS 0x0800
#endif
#if (_WIN32_IE >= 0x0400)
// this is a status bar flag, preference to SBARS_TOOLTIPS // this is a status bar flag, preference to SBARS_TOOLTIPS
#define SBT_TOOLTIPS 0x0800 #define SBT_TOOLTIPS 0x0800
#endif
// end_r_commctrl // end_r_commctrl
WINCOMMCTRLAPI void WINAPI DrawStatusTextA(HDC hDC, LPCRECT lprc, LPCSTR pszText , UINT uFlags); WINCOMMCTRLAPI void WINAPI DrawStatusTextA(HDC hDC, LPCRECT lprc, LPCSTR pszText , UINT uFlags);
WINCOMMCTRLAPI void WINAPI DrawStatusTextW(HDC hDC, LPCRECT lprc, LPCWSTR pszTex t, UINT uFlags); WINCOMMCTRLAPI void WINAPI DrawStatusTextW(HDC hDC, LPCRECT lprc, LPCWSTR pszTex t, UINT uFlags);
WINCOMMCTRLAPI HWND WINAPI CreateStatusWindowA(LONG style, LPCSTR lpszText, HWND hwndParent, UINT wID); WINCOMMCTRLAPI HWND WINAPI CreateStatusWindowA(LONG style, LPCSTR lpszText, HWND hwndParent, UINT wID);
WINCOMMCTRLAPI HWND WINAPI CreateStatusWindowW(LONG style, LPCWSTR lpszText, HWN D hwndParent, UINT wID); WINCOMMCTRLAPI HWND WINAPI CreateStatusWindowW(LONG style, LPCWSTR lpszText, HWN D hwndParent, UINT wID);
#ifdef UNICODE #ifdef UNICODE
skipping to change at line 2779 skipping to change at line 2504
#define SB_SETTEXTW (WM_USER+11) #define SB_SETTEXTW (WM_USER+11)
#define SB_GETTEXTA (WM_USER+2) #define SB_GETTEXTA (WM_USER+2)
#define SB_GETTEXTW (WM_USER+13) #define SB_GETTEXTW (WM_USER+13)
#define SB_GETTEXTLENGTHA (WM_USER+3) #define SB_GETTEXTLENGTHA (WM_USER+3)
#define SB_GETTEXTLENGTHW (WM_USER+12) #define SB_GETTEXTLENGTHW (WM_USER+12)
#ifdef UNICODE #ifdef UNICODE
#define SB_GETTEXT SB_GETTEXTW #define SB_GETTEXT SB_GETTEXTW
#define SB_SETTEXT SB_SETTEXTW #define SB_SETTEXT SB_SETTEXTW
#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW #define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW
#if (_WIN32_IE >= 0x0400)
#define SB_SETTIPTEXT SB_SETTIPTEXTW #define SB_SETTIPTEXT SB_SETTIPTEXTW
#define SB_GETTIPTEXT SB_GETTIPTEXTW #define SB_GETTIPTEXT SB_GETTIPTEXTW
#endif
#else #else
#define SB_GETTEXT SB_GETTEXTA #define SB_GETTEXT SB_GETTEXTA
#define SB_SETTEXT SB_SETTEXTA #define SB_SETTEXT SB_SETTEXTA
#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA #define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA
#if (_WIN32_IE >= 0x0400)
#define SB_SETTIPTEXT SB_SETTIPTEXTA #define SB_SETTIPTEXT SB_SETTIPTEXTA
#define SB_GETTIPTEXT SB_GETTIPTEXTA #define SB_GETTIPTEXT SB_GETTIPTEXTA
#endif #endif
#endif
#define SB_SETPARTS (WM_USER+4) #define SB_SETPARTS (WM_USER+4)
#define SB_GETPARTS (WM_USER+6) #define SB_GETPARTS (WM_USER+6)
#define SB_GETBORDERS (WM_USER+7) #define SB_GETBORDERS (WM_USER+7)
#define SB_SETMINHEIGHT (WM_USER+8) #define SB_SETMINHEIGHT (WM_USER+8)
#define SB_SIMPLE (WM_USER+9) #define SB_SIMPLE (WM_USER+9)
#define SB_GETRECT (WM_USER+10) #define SB_GETRECT (WM_USER+10)
#if (_WIN32_IE >= 0x0300)
#define SB_ISSIMPLE (WM_USER+14) #define SB_ISSIMPLE (WM_USER+14)
#endif
#if (_WIN32_IE >= 0x0400)
#define SB_SETICON (WM_USER+15) #define SB_SETICON (WM_USER+15)
#define SB_SETTIPTEXTA (WM_USER+16) #define SB_SETTIPTEXTA (WM_USER+16)
#define SB_SETTIPTEXTW (WM_USER+17) #define SB_SETTIPTEXTW (WM_USER+17)
#define SB_GETTIPTEXTA (WM_USER+18) #define SB_GETTIPTEXTA (WM_USER+18)
#define SB_GETTIPTEXTW (WM_USER+19) #define SB_GETTIPTEXTW (WM_USER+19)
#define SB_GETICON (WM_USER+20) #define SB_GETICON (WM_USER+20)
#define SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#endif
#define SBT_OWNERDRAW 0x1000 #define SBT_OWNERDRAW 0x1000
#define SBT_NOBORDERS 0x0100 #define SBT_NOBORDERS 0x0100
#define SBT_POPOUT 0x0200 #define SBT_POPOUT 0x0200
#define SBT_RTLREADING 0x0400 #define SBT_RTLREADING 0x0400
#if (_WIN32_IE >= 0x0500)
#define SBT_NOTABPARSING 0x0800 #define SBT_NOTABPARSING 0x0800
#endif
#define SB_SETBKCOLOR CCM_SETBKCOLOR // lParam = bkColor #define SB_SETBKCOLOR CCM_SETBKCOLOR // lParam = bkColor
// status bar notifications // status bar notifications
#if (_WIN32_IE >= 0x0400)
#define SBN_SIMPLEMODECHANGE (SBN_FIRST - 0) #define SBN_SIMPLEMODECHANGE (SBN_FIRST - 0)
#endif
#if (_WIN32_IE >= 0x0500)
// refers to the data saved for simple mode // refers to the data saved for simple mode
#define SB_SIMPLEID 0x00ff #define SB_SIMPLEID 0x00ff
#endif
#endif // NOSTATUSBAR #endif // NOSTATUSBAR
//====== MENU HELP ============================================================ //====== MENU HELP ============================================================
#ifndef NOMENUHELP #ifndef NOMENUHELP
WINCOMMCTRLAPI void WINAPI MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HME WINCOMMCTRLAPI void WINAPI MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HME
NU hMainMenu, HINSTANCE hInst, HWND hwndStatus, __in_xcount(2 + 2n && n >= 1) UI NU hMainMenu, HINSTANCE hInst, HWND hwndStatus, _In_reads_(_Inexpressible_(2 + 2
NT *lpwIDs); n && n >= 1)) UINT *lpwIDs);
WINCOMMCTRLAPI BOOL WINAPI ShowHideMenuCtl(__in HWND hWnd, __in UINT_PTR uFlags, WINCOMMCTRLAPI BOOL WINAPI ShowHideMenuCtl(_In_ HWND hWnd, _In_ UINT_PTR uFlags,
__in __nullterminated LPINT lpInfo); _In_z_ LPINT lpInfo);
WINCOMMCTRLAPI void WINAPI GetEffectiveClientRect(__in HWND hWnd, __out LPRECT l WINCOMMCTRLAPI void WINAPI GetEffectiveClientRect(_In_ HWND hWnd, _Out_ LPRECT l
prc, __in __nullterminated const INT *lpInfo); prc, _In_z_ const INT *lpInfo);
#define MINSYSCOMMAND SC_SIZE #define MINSYSCOMMAND SC_SIZE
#endif #endif
//====== TRACKBAR CONTROL ===================================================== //====== TRACKBAR CONTROL =====================================================
#ifndef NOTRACKBAR #ifndef NOTRACKBAR
#ifdef _WIN32 #ifdef _WIN32
skipping to change at line 2880 skipping to change at line 2591
#define TBS_HORZ 0x0000 #define TBS_HORZ 0x0000
#define TBS_TOP 0x0004 #define TBS_TOP 0x0004
#define TBS_BOTTOM 0x0000 #define TBS_BOTTOM 0x0000
#define TBS_LEFT 0x0004 #define TBS_LEFT 0x0004
#define TBS_RIGHT 0x0000 #define TBS_RIGHT 0x0000
#define TBS_BOTH 0x0008 #define TBS_BOTH 0x0008
#define TBS_NOTICKS 0x0010 #define TBS_NOTICKS 0x0010
#define TBS_ENABLESELRANGE 0x0020 #define TBS_ENABLESELRANGE 0x0020
#define TBS_FIXEDLENGTH 0x0040 #define TBS_FIXEDLENGTH 0x0040
#define TBS_NOTHUMB 0x0080 #define TBS_NOTHUMB 0x0080
#if (_WIN32_IE >= 0x0300)
#define TBS_TOOLTIPS 0x0100 #define TBS_TOOLTIPS 0x0100
#endif
#if (_WIN32_IE >= 0x0500)
#define TBS_REVERSED 0x0200 // Accessibility hint: the smaller numbe r (usually the min value) means "high" and the larger number (usually the max va lue) means "low" #define TBS_REVERSED 0x0200 // Accessibility hint: the smaller numbe r (usually the min value) means "high" and the larger number (usually the max va lue) means "low"
#endif
#if (_WIN32_IE >= 0x0501)
#define TBS_DOWNISLEFT 0x0400 // Down=Left and Up=Right (default is Do wn=Right and Up=Left) #define TBS_DOWNISLEFT 0x0400 // Down=Left and Up=Right (default is Do wn=Right and Up=Left)
#endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define TBS_NOTIFYBEFOREMOVE 0x0800 // Trackbar should notify parent before repositioning the slider due to user action (enables snapping) #define TBS_NOTIFYBEFOREMOVE 0x0800 // Trackbar should notify parent before repositioning the slider due to user action (enables snapping)
#endif #endif
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TBS_TRANSPARENTBKGND 0x1000 // Background is painted by the parent v ia WM_PRINTCLIENT #define TBS_TRANSPARENTBKGND 0x1000 // Background is painted by the parent v ia WM_PRINTCLIENT
#endif #endif
// end_r_commctrl // end_r_commctrl
skipping to change at line 2929 skipping to change at line 2634
#define TBM_CLEARSEL (WM_USER+19) #define TBM_CLEARSEL (WM_USER+19)
#define TBM_SETTICFREQ (WM_USER+20) #define TBM_SETTICFREQ (WM_USER+20)
#define TBM_SETPAGESIZE (WM_USER+21) #define TBM_SETPAGESIZE (WM_USER+21)
#define TBM_GETPAGESIZE (WM_USER+22) #define TBM_GETPAGESIZE (WM_USER+22)
#define TBM_SETLINESIZE (WM_USER+23) #define TBM_SETLINESIZE (WM_USER+23)
#define TBM_GETLINESIZE (WM_USER+24) #define TBM_GETLINESIZE (WM_USER+24)
#define TBM_GETTHUMBRECT (WM_USER+25) #define TBM_GETTHUMBRECT (WM_USER+25)
#define TBM_GETCHANNELRECT (WM_USER+26) #define TBM_GETCHANNELRECT (WM_USER+26)
#define TBM_SETTHUMBLENGTH (WM_USER+27) #define TBM_SETTHUMBLENGTH (WM_USER+27)
#define TBM_GETTHUMBLENGTH (WM_USER+28) #define TBM_GETTHUMBLENGTH (WM_USER+28)
#if (_WIN32_IE >= 0x0300)
#define TBM_SETTOOLTIPS (WM_USER+29) #define TBM_SETTOOLTIPS (WM_USER+29)
#define TBM_GETTOOLTIPS (WM_USER+30) #define TBM_GETTOOLTIPS (WM_USER+30)
#define TBM_SETTIPSIDE (WM_USER+31) #define TBM_SETTIPSIDE (WM_USER+31)
// TrackBar Tip Side flags // TrackBar Tip Side flags
#define TBTS_TOP 0 #define TBTS_TOP 0
#define TBTS_LEFT 1 #define TBTS_LEFT 1
#define TBTS_BOTTOM 2 #define TBTS_BOTTOM 2
#define TBTS_RIGHT 3 #define TBTS_RIGHT 3
#define TBM_SETBUDDY (WM_USER+32) // wparam = BOOL fLeft; (or right) #define TBM_SETBUDDY (WM_USER+32) // wparam = BOOL fLeft; (or right)
#define TBM_GETBUDDY (WM_USER+33) // wparam = BOOL fLeft; (or right) #define TBM_GETBUDDY (WM_USER+33) // wparam = BOOL fLeft; (or right)
#define TBM_SETPOSNOTIFY (WM_USER+34) #define TBM_SETPOSNOTIFY (WM_USER+34)
#endif
#if (_WIN32_IE >= 0x0400)
#define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#endif
#define TB_LINEUP 0 #define TB_LINEUP 0
#define TB_LINEDOWN 1 #define TB_LINEDOWN 1
#define TB_PAGEUP 2 #define TB_PAGEUP 2
#define TB_PAGEDOWN 3 #define TB_PAGEDOWN 3
#define TB_THUMBPOSITION 4 #define TB_THUMBPOSITION 4
#define TB_THUMBTRACK 5 #define TB_THUMBTRACK 5
#define TB_TOP 6 #define TB_TOP 6
#define TB_BOTTOM 7 #define TB_BOTTOM 7
#define TB_ENDTRACK 8 #define TB_ENDTRACK 8
#if (_WIN32_IE >= 0x0300)
// custom draw item specs // custom draw item specs
#define TBCD_TICS 0x0001 #define TBCD_TICS 0x0001
#define TBCD_THUMB 0x0002 #define TBCD_THUMB 0x0002
#define TBCD_CHANNEL 0x0003 #define TBCD_CHANNEL 0x0003
#endif
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TRBN_THUMBPOSCHANGING (TRBN_FIRST-1) #define TRBN_THUMBPOSCHANGING (TRBN_FIRST-1)
// Structure for Trackbar's TRBN_THUMBPOSCHANGING notification // Structure for Trackbar's TRBN_THUMBPOSCHANGING notification
typedef struct tagTRBTHUMBPOSCHANGING typedef struct tagTRBTHUMBPOSCHANGING
{ {
NMHDR hdr; NMHDR hdr;
DWORD dwPos; DWORD dwPos;
int nReason; int nReason;
} NMTRBTHUMBPOSCHANGING; } NMTRBTHUMBPOSCHANGING;
#endif #endif
skipping to change at line 3045 skipping to change at line 2744
// begin_r_commctrl // begin_r_commctrl
#define UDS_WRAP 0x0001 #define UDS_WRAP 0x0001
#define UDS_SETBUDDYINT 0x0002 #define UDS_SETBUDDYINT 0x0002
#define UDS_ALIGNRIGHT 0x0004 #define UDS_ALIGNRIGHT 0x0004
#define UDS_ALIGNLEFT 0x0008 #define UDS_ALIGNLEFT 0x0008
#define UDS_AUTOBUDDY 0x0010 #define UDS_AUTOBUDDY 0x0010
#define UDS_ARROWKEYS 0x0020 #define UDS_ARROWKEYS 0x0020
#define UDS_HORZ 0x0040 #define UDS_HORZ 0x0040
#define UDS_NOTHOUSANDS 0x0080 #define UDS_NOTHOUSANDS 0x0080
#if (_WIN32_IE >= 0x0300)
#define UDS_HOTTRACK 0x0100 #define UDS_HOTTRACK 0x0100
#endif
// end_r_commctrl // end_r_commctrl
#define UDM_SETRANGE (WM_USER+101) #define UDM_SETRANGE (WM_USER+101)
#define UDM_GETRANGE (WM_USER+102) #define UDM_GETRANGE (WM_USER+102)
#define UDM_SETPOS (WM_USER+103) #define UDM_SETPOS (WM_USER+103)
#define UDM_GETPOS (WM_USER+104) #define UDM_GETPOS (WM_USER+104)
#define UDM_SETBUDDY (WM_USER+105) #define UDM_SETBUDDY (WM_USER+105)
#define UDM_GETBUDDY (WM_USER+106) #define UDM_GETBUDDY (WM_USER+106)
#define UDM_SETACCEL (WM_USER+107) #define UDM_SETACCEL (WM_USER+107)
#define UDM_GETACCEL (WM_USER+108) #define UDM_GETACCEL (WM_USER+108)
#define UDM_SETBASE (WM_USER+109) #define UDM_SETBASE (WM_USER+109)
#define UDM_GETBASE (WM_USER+110) #define UDM_GETBASE (WM_USER+110)
#if (_WIN32_IE >= 0x0400)
#define UDM_SETRANGE32 (WM_USER+111) #define UDM_SETRANGE32 (WM_USER+111)
#define UDM_GETRANGE32 (WM_USER+112) // wParam & lParam are LPINT #define UDM_GETRANGE32 (WM_USER+112) // wParam & lParam are LPINT
#define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#endif
#if (_WIN32_IE >= 0x0500)
#define UDM_SETPOS32 (WM_USER+113) #define UDM_SETPOS32 (WM_USER+113)
#define UDM_GETPOS32 (WM_USER+114) #define UDM_GETPOS32 (WM_USER+114)
#endif
WINCOMMCTRLAPI HWND WINAPI CreateUpDownControl(DWORD dwStyle, int x, int y, int cx, int cy, WINCOMMCTRLAPI HWND WINAPI CreateUpDownControl(DWORD dwStyle, int x, int y, int cx, int cy,
HWND hParent, int nID, HINSTANCE hInst, HWND hParent, int nID, HINSTANCE hInst,
HWND hBuddy, HWND hBuddy,
int nUpper, int nLower, int nPos); int nUpper, int nLower, int nPos);
#if (_WIN32_IE >= 0x0300)
#define NM_UPDOWN NMUPDOWN #define NM_UPDOWN NMUPDOWN
#define LPNM_UPDOWN LPNMUPDOWN #define LPNM_UPDOWN LPNMUPDOWN
#else
#define NMUPDOWN NM_UPDOWN
#define LPNMUPDOWN LPNM_UPDOWN
#endif
typedef struct _NM_UPDOWN typedef struct _NM_UPDOWN
{ {
NMHDR hdr; NMHDR hdr;
int iPos; int iPos;
int iDelta; int iDelta;
} NMUPDOWN, *LPNMUPDOWN; } NMUPDOWN, *LPNMUPDOWN;
#define UDN_DELTAPOS (UDN_FIRST - 1) #define UDN_DELTAPOS (UDN_FIRST - 1)
skipping to change at line 3117 skipping to change at line 2805
#else #else
#define PROGRESS_CLASS PROGRESS_CLASSA #define PROGRESS_CLASS PROGRESS_CLASSA
#endif #endif
#else #else
#define PROGRESS_CLASS "msctls_progress" #define PROGRESS_CLASS "msctls_progress"
#endif #endif
// begin_r_commctrl // begin_r_commctrl
#if (_WIN32_IE >= 0x0300)
#define PBS_SMOOTH 0x01 #define PBS_SMOOTH 0x01
#define PBS_VERTICAL 0x04 #define PBS_VERTICAL 0x04
#endif
// end_r_commctrl // end_r_commctrl
#define PBM_SETRANGE (WM_USER+1) #define PBM_SETRANGE (WM_USER+1)
#define PBM_SETPOS (WM_USER+2) #define PBM_SETPOS (WM_USER+2)
#define PBM_DELTAPOS (WM_USER+3) #define PBM_DELTAPOS (WM_USER+3)
#define PBM_SETSTEP (WM_USER+4) #define PBM_SETSTEP (WM_USER+4)
#define PBM_STEPIT (WM_USER+5) #define PBM_STEPIT (WM_USER+5)
#if (_WIN32_IE >= 0x0300)
#define PBM_SETRANGE32 (WM_USER+6) // lParam = high, wParam = low #define PBM_SETRANGE32 (WM_USER+6) // lParam = high, wParam = low
typedef struct typedef struct
{ {
int iLow; int iLow;
int iHigh; int iHigh;
} PBRANGE, *PPBRANGE; } PBRANGE, *PPBRANGE;
#define PBM_GETRANGE (WM_USER+7) // wParam = return (TRUE ? low : hi gh). lParam = PPBRANGE or NULL #define PBM_GETRANGE (WM_USER+7) // wParam = return (TRUE ? low : hi gh). lParam = PPBRANGE or NULL
#define PBM_GETPOS (WM_USER+8) #define PBM_GETPOS (WM_USER+8)
#if (_WIN32_IE >= 0x0400)
#define PBM_SETBARCOLOR (WM_USER+9) // lParam = bar color #define PBM_SETBARCOLOR (WM_USER+9) // lParam = bar color
#endif // _WIN32_IE >= 0x0400
#define PBM_SETBKCOLOR CCM_SETBKCOLOR // lParam = bkColor #define PBM_SETBKCOLOR CCM_SETBKCOLOR // lParam = bkColor
#endif // _WIN32_IE >= 0x0300
// begin_r_commctrl // begin_r_commctrl
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define PBS_MARQUEE 0x08 #define PBS_MARQUEE 0x08
#endif // _WIN32_WINNT >= 0x0501 #endif // (NTDDI_VERSION >= NTDDI_WINXP)
// end_r_commctrl // end_r_commctrl
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define PBM_SETMARQUEE (WM_USER+10) #define PBM_SETMARQUEE (WM_USER+10)
#endif // _WIN32_WINNT >= 0x0501 #endif // (NTDDI_VERSION >= NTDDI_WINXP)
// begin_r_commctrl // begin_r_commctrl
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define PBS_SMOOTHREVERSE 0x10 #define PBS_SMOOTHREVERSE 0x10
#endif // _WIN32_WINNT >= 0x0600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
// end_r_commctrl // end_r_commctrl
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define PBM_GETSTEP (WM_USER+13) #define PBM_GETSTEP (WM_USER+13)
#define PBM_GETBKCOLOR (WM_USER+14) #define PBM_GETBKCOLOR (WM_USER+14)
#define PBM_GETBARCOLOR (WM_USER+15) #define PBM_GETBARCOLOR (WM_USER+15)
#define PBM_SETSTATE (WM_USER+16) // wParam = PBST_[State] (NORMAL, E RROR, PAUSED) #define PBM_SETSTATE (WM_USER+16) // wParam = PBST_[State] (NORMAL, E RROR, PAUSED)
#define PBM_GETSTATE (WM_USER+17) #define PBM_GETSTATE (WM_USER+17)
#define PBST_NORMAL 0x0001 #define PBST_NORMAL 0x0001
#define PBST_ERROR 0x0002 #define PBST_ERROR 0x0002
#define PBST_PAUSED 0x0003 #define PBST_PAUSED 0x0003
#endif // _WIN32_WINNT >= 0x0600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#endif // NOPROGRESS #endif // NOPROGRESS
//====== HOTKEY CONTROL ======================================================= //====== HOTKEY CONTROL =======================================================
#ifndef NOHOTKEY #ifndef NOHOTKEY
#define HOTKEYF_SHIFT 0x01 #define HOTKEYF_SHIFT 0x01
#define HOTKEYF_CONTROL 0x02 #define HOTKEYF_CONTROL 0x02
#define HOTKEYF_ALT 0x04 #define HOTKEYF_ALT 0x04
skipping to change at line 3232 skipping to change at line 2914
//====== COMMON CONTROL STYLES ================================================ //====== COMMON CONTROL STYLES ================================================
#define CCS_TOP 0x00000001L #define CCS_TOP 0x00000001L
#define CCS_NOMOVEY 0x00000002L #define CCS_NOMOVEY 0x00000002L
#define CCS_BOTTOM 0x00000003L #define CCS_BOTTOM 0x00000003L
#define CCS_NORESIZE 0x00000004L #define CCS_NORESIZE 0x00000004L
#define CCS_NOPARENTALIGN 0x00000008L #define CCS_NOPARENTALIGN 0x00000008L
#define CCS_ADJUSTABLE 0x00000020L #define CCS_ADJUSTABLE 0x00000020L
#define CCS_NODIVIDER 0x00000040L #define CCS_NODIVIDER 0x00000040L
#if (_WIN32_IE >= 0x0300)
#define CCS_VERT 0x00000080L #define CCS_VERT 0x00000080L
#define CCS_LEFT (CCS_VERT | CCS_TOP) #define CCS_LEFT (CCS_VERT | CCS_TOP)
#define CCS_RIGHT (CCS_VERT | CCS_BOTTOM) #define CCS_RIGHT (CCS_VERT | CCS_BOTTOM)
#define CCS_NOMOVEX (CCS_VERT | CCS_NOMOVEY) #define CCS_NOMOVEX (CCS_VERT | CCS_NOMOVEY)
#endif
// end_r_commctrl // end_r_commctrl
//====== SysLink control ========================================= //====== SysLink control =========================================
#ifdef _WIN32 #ifdef _WIN32
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define INVALID_LINK_INDEX (-1) #define INVALID_LINK_INDEX (-1)
#define MAX_LINKID_TEXT 48 #define MAX_LINKID_TEXT 48
#define L_MAX_URL_LENGTH (2048 + 32 + sizeof("://")) #define L_MAX_URL_LENGTH (2048 + 32 + sizeof("://"))
#define WC_LINK L"SysLink" #define WC_LINK L"SysLink"
// begin_r_commctrl // begin_r_commctrl
#define LWS_TRANSPARENT 0x0001 #define LWS_TRANSPARENT 0x0001
#define LWS_IGNORERETURN 0x0002 #define LWS_IGNORERETURN 0x0002
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LWS_NOPREFIX 0x0004 #define LWS_NOPREFIX 0x0004
#define LWS_USEVISUALSTYLE 0x0008 #define LWS_USEVISUALSTYLE 0x0008
#define LWS_USECUSTOMTEXT 0x0010 #define LWS_USECUSTOMTEXT 0x0010
#define LWS_RIGHT 0x0020 #define LWS_RIGHT 0x0020
#endif // _WIN32_WINNT >= 0x600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
// end_r_commctrl // end_r_commctrl
#define LIF_ITEMINDEX 0x00000001 #define LIF_ITEMINDEX 0x00000001
#define LIF_STATE 0x00000002 #define LIF_STATE 0x00000002
#define LIF_ITEMID 0x00000004 #define LIF_ITEMID 0x00000004
#define LIF_URL 0x00000008 #define LIF_URL 0x00000008
#define LIS_FOCUSED 0x00000001 #define LIS_FOCUSED 0x00000001
#define LIS_ENABLED 0x00000002 #define LIS_ENABLED 0x00000002
#define LIS_VISITED 0x00000004 #define LIS_VISITED 0x00000004
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LIS_HOTTRACK 0x00000008 #define LIS_HOTTRACK 0x00000008
#define LIS_DEFAULTCOLORS 0x00000010 // Don't use any custom text colors #define LIS_DEFAULTCOLORS 0x00000010 // Don't use any custom text colors
#endif #endif
typedef struct tagLITEM typedef struct tagLITEM
{ {
UINT mask ; UINT mask ;
int iLink ; int iLink ;
UINT state ; UINT state ;
UINT stateMask ; UINT stateMask ;
skipping to change at line 3349 skipping to change at line 3029
#define LVS_LIST 0x0003 #define LVS_LIST 0x0003
#define LVS_TYPEMASK 0x0003 #define LVS_TYPEMASK 0x0003
#define LVS_SINGLESEL 0x0004 #define LVS_SINGLESEL 0x0004
#define LVS_SHOWSELALWAYS 0x0008 #define LVS_SHOWSELALWAYS 0x0008
#define LVS_SORTASCENDING 0x0010 #define LVS_SORTASCENDING 0x0010
#define LVS_SORTDESCENDING 0x0020 #define LVS_SORTDESCENDING 0x0020
#define LVS_SHAREIMAGELISTS 0x0040 #define LVS_SHAREIMAGELISTS 0x0040
#define LVS_NOLABELWRAP 0x0080 #define LVS_NOLABELWRAP 0x0080
#define LVS_AUTOARRANGE 0x0100 #define LVS_AUTOARRANGE 0x0100
#define LVS_EDITLABELS 0x0200 #define LVS_EDITLABELS 0x0200
#if (_WIN32_IE >= 0x0300)
#define LVS_OWNERDATA 0x1000 #define LVS_OWNERDATA 0x1000
#endif
#define LVS_NOSCROLL 0x2000 #define LVS_NOSCROLL 0x2000
#define LVS_TYPESTYLEMASK 0xfc00 #define LVS_TYPESTYLEMASK 0xfc00
#define LVS_ALIGNTOP 0x0000 #define LVS_ALIGNTOP 0x0000
#define LVS_ALIGNLEFT 0x0800 #define LVS_ALIGNLEFT 0x0800
#define LVS_ALIGNMASK 0x0c00 #define LVS_ALIGNMASK 0x0c00
#define LVS_OWNERDRAWFIXED 0x0400 #define LVS_OWNERDRAWFIXED 0x0400
#define LVS_NOCOLUMNHEADER 0x4000 #define LVS_NOCOLUMNHEADER 0x4000
#define LVS_NOSORTHEADER 0x8000 #define LVS_NOSORTHEADER 0x8000
// end_r_commctrl // end_r_commctrl
#if (_WIN32_IE >= 0x0400)
#define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define ListView_SetUnicodeFormat(hwnd, fUnicode) \ #define ListView_SetUnicodeFormat(hwnd, fUnicode) \
(BOOL)SNDMSG((hwnd), LVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) (BOOL)SNDMSG((hwnd), LVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
#define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define ListView_GetUnicodeFormat(hwnd) \ #define ListView_GetUnicodeFormat(hwnd) \
(BOOL)SNDMSG((hwnd), LVM_GETUNICODEFORMAT, 0, 0) (BOOL)SNDMSG((hwnd), LVM_GETUNICODEFORMAT, 0, 0)
#endif
#define LVM_GETBKCOLOR (LVM_FIRST + 0) #define LVM_GETBKCOLOR (LVM_FIRST + 0)
#define ListView_GetBkColor(hwnd) \ #define ListView_GetBkColor(hwnd) \
(COLORREF)SNDMSG((hwnd), LVM_GETBKCOLOR, 0, 0L) (COLORREF)SNDMSG((hwnd), LVM_GETBKCOLOR, 0, 0L)
#define LVM_SETBKCOLOR (LVM_FIRST + 1) #define LVM_SETBKCOLOR (LVM_FIRST + 1)
#define ListView_SetBkColor(hwnd, clrBk) \ #define ListView_SetBkColor(hwnd, clrBk) \
(BOOL)SNDMSG((hwnd), LVM_SETBKCOLOR, 0, (LPARAM)(COLORREF)(clrBk)) (BOOL)SNDMSG((hwnd), LVM_SETBKCOLOR, 0, (LPARAM)(COLORREF)(clrBk))
#define LVM_GETIMAGELIST (LVM_FIRST + 2) #define LVM_GETIMAGELIST (LVM_FIRST + 2)
skipping to change at line 3405 skipping to change at line 3081
(HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)(iImageList), (LPARAM)( HIMAGELIST)(himl)) (HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)(iImageList), (LPARAM)( HIMAGELIST)(himl))
#define LVM_GETITEMCOUNT (LVM_FIRST + 4) #define LVM_GETITEMCOUNT (LVM_FIRST + 4)
#define ListView_GetItemCount(hwnd) \ #define ListView_GetItemCount(hwnd) \
(int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L) (int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L)
#define LVIF_TEXT 0x00000001 #define LVIF_TEXT 0x00000001
#define LVIF_IMAGE 0x00000002 #define LVIF_IMAGE 0x00000002
#define LVIF_PARAM 0x00000004 #define LVIF_PARAM 0x00000004
#define LVIF_STATE 0x00000008 #define LVIF_STATE 0x00000008
#if (_WIN32_IE >= 0x0300)
#define LVIF_INDENT 0x00000010 #define LVIF_INDENT 0x00000010
#define LVIF_NORECOMPUTE 0x00000800 #define LVIF_NORECOMPUTE 0x00000800
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
#define LVIF_GROUPID 0x00000100 #define LVIF_GROUPID 0x00000100
#define LVIF_COLUMNS 0x00000200 #define LVIF_COLUMNS 0x00000200
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LVIF_COLFMT 0x00010000 // The piColFmt member is valid in ad dition to puColumns #define LVIF_COLFMT 0x00010000 // The piColFmt member is valid in ad dition to puColumns
#endif #endif
#define LVIS_FOCUSED 0x0001 #define LVIS_FOCUSED 0x0001
#define LVIS_SELECTED 0x0002 #define LVIS_SELECTED 0x0002
#define LVIS_CUT 0x0004 #define LVIS_CUT 0x0004
#define LVIS_DROPHILITED 0x0008 #define LVIS_DROPHILITED 0x0008
#define LVIS_GLOW 0x0010 #define LVIS_GLOW 0x0010
#define LVIS_ACTIVATING 0x0020 #define LVIS_ACTIVATING 0x0020
#define LVIS_OVERLAYMASK 0x0F00 #define LVIS_OVERLAYMASK 0x0F00
#define LVIS_STATEIMAGEMASK 0xF000 #define LVIS_STATEIMAGEMASK 0xF000
#define INDEXTOSTATEIMAGEMASK(i) ((i) << 12) #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
#if (_WIN32_IE >= 0x0300)
#define I_INDENTCALLBACK (-1) #define I_INDENTCALLBACK (-1)
#define LV_ITEMA LVITEMA #define LV_ITEMA LVITEMA
#define LV_ITEMW LVITEMW #define LV_ITEMW LVITEMW
#else
#define tagLVITEMA _LV_ITEMA
#define LVITEMA LV_ITEMA
#define tagLVITEMW _LV_ITEMW
#define LVITEMW LV_ITEMW
#endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define I_GROUPIDCALLBACK (-1) #define I_GROUPIDCALLBACK (-1)
#define I_GROUPIDNONE (-2) #define I_GROUPIDNONE (-2)
#endif #endif
#define LV_ITEM LVITEM #define LV_ITEM LVITEM
#define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA, lParam) #define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA, lParam)
#define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW, lParam) #define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW, lParam)
#if _WIN32_WINNT >= 0x0600 // Will be unused downlevel, but sizeof(LVITEMA) must be equal to sizeof(LVITEMW) #if (NTDDI_VERSION >= NTDDI_VISTA) // Will be unused downlevel, but sizeof(LVITE MA) must be equal to sizeof(LVITEMW)
#define LVITEMA_V5_SIZE CCSIZEOF_STRUCT(LVITEMA, puColumns) #define LVITEMA_V5_SIZE CCSIZEOF_STRUCT(LVITEMA, puColumns)
#define LVITEMW_V5_SIZE CCSIZEOF_STRUCT(LVITEMW, puColumns) #define LVITEMW_V5_SIZE CCSIZEOF_STRUCT(LVITEMW, puColumns)
#ifdef UNICODE #ifdef UNICODE
#define LVITEM_V5_SIZE LVITEMW_V5_SIZE #define LVITEM_V5_SIZE LVITEMW_V5_SIZE
#else #else
#define LVITEM_V5_SIZE LVITEMA_V5_SIZE #define LVITEM_V5_SIZE LVITEMA_V5_SIZE
#endif #endif
#endif #endif
skipping to change at line 3472 skipping to change at line 3139
{ {
UINT mask; UINT mask;
int iItem; int iItem;
int iSubItem; int iSubItem;
UINT state; UINT state;
UINT stateMask; UINT stateMask;
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
LPARAM lParam; LPARAM lParam;
#if (_WIN32_IE >= 0x0300)
int iIndent; int iIndent;
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
int iGroupId; int iGroupId;
UINT cColumns; // tile view columns UINT cColumns; // tile view columns
PUINT puColumns; PUINT puColumns;
#endif #endif
#if _WIN32_WINNT >= 0x0600 // Will be unused downlevel, but sizeof(LVITEMA) must be equal to sizeof(LVITEMW) #if (NTDDI_VERSION >= NTDDI_VISTA) // Will be unused downlevel, but sizeof(LVITE MA) must be equal to sizeof(LVITEMW)
int* piColFmt; int* piColFmt;
int iGroup; // readonly. only valid for owner data. int iGroup; // readonly. only valid for owner data.
#endif #endif
} LVITEMA, *LPLVITEMA; } LVITEMA, *LPLVITEMA;
typedef struct tagLVITEMW typedef struct tagLVITEMW
{ {
UINT mask; UINT mask;
int iItem; int iItem;
int iSubItem; int iSubItem;
UINT state; UINT state;
UINT stateMask; UINT stateMask;
LPWSTR pszText; LPWSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
LPARAM lParam; LPARAM lParam;
#if (_WIN32_IE >= 0x0300)
int iIndent; int iIndent;
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
int iGroupId; int iGroupId;
UINT cColumns; // tile view columns UINT cColumns; // tile view columns
PUINT puColumns; PUINT puColumns;
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
int* piColFmt; int* piColFmt;
int iGroup; // readonly. only valid for owner data. int iGroup; // readonly. only valid for owner data.
#endif #endif
} LVITEMW, *LPLVITEMW; } LVITEMW, *LPLVITEMW;
#ifdef UNICODE #ifdef UNICODE
#define LVITEM LVITEMW #define LVITEM LVITEMW
#define LPLVITEM LPLVITEMW #define LPLVITEM LPLVITEMW
#define LVITEM_V1_SIZE LVITEMW_V1_SIZE #define LVITEM_V1_SIZE LVITEMW_V1_SIZE
#else #else
skipping to change at line 3530 skipping to change at line 3193
#define LPSTR_TEXTCALLBACKW ((LPWSTR)-1L) #define LPSTR_TEXTCALLBACKW ((LPWSTR)-1L)
#define LPSTR_TEXTCALLBACKA ((LPSTR)-1L) #define LPSTR_TEXTCALLBACKA ((LPSTR)-1L)
#ifdef UNICODE #ifdef UNICODE
#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
#else #else
#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
#endif #endif
#define I_IMAGECALLBACK (-1) #define I_IMAGECALLBACK (-1)
#if (_WIN32_IE >= 0x0501)
#define I_IMAGENONE (-2) #define I_IMAGENONE (-2)
#endif // 0x0501
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
// For tileview // For tileview
#define I_COLUMNSCALLBACK ((UINT)-1) #define I_COLUMNSCALLBACK ((UINT)-1)
#endif #endif
#define LVM_GETITEMA (LVM_FIRST + 5) #define LVM_GETITEMA (LVM_FIRST + 5)
#define LVM_GETITEMW (LVM_FIRST + 75) #define LVM_GETITEMW (LVM_FIRST + 75)
#ifdef UNICODE #ifdef UNICODE
#define LVM_GETITEM LVM_GETITEMW #define LVM_GETITEM LVM_GETITEMW
#else #else
#define LVM_GETITEM LVM_GETITEMA #define LVM_GETITEM LVM_GETITEMA
skipping to change at line 3617 skipping to change at line 3278
#define ListView_GetNextItem(hwnd, i, flags) \ #define ListView_GetNextItem(hwnd, i, flags) \
(int)SNDMSG((hwnd), LVM_GETNEXTITEM, (WPARAM)(int)(i), MAKELPARAM((flags), 0 )) (int)SNDMSG((hwnd), LVM_GETNEXTITEM, (WPARAM)(int)(i), MAKELPARAM((flags), 0 ))
#define LVFI_PARAM 0x0001 #define LVFI_PARAM 0x0001
#define LVFI_STRING 0x0002 #define LVFI_STRING 0x0002
#define LVFI_SUBSTRING 0x0004 // Same as LVFI_PARTIAL #define LVFI_SUBSTRING 0x0004 // Same as LVFI_PARTIAL
#define LVFI_PARTIAL 0x0008 #define LVFI_PARTIAL 0x0008
#define LVFI_WRAP 0x0020 #define LVFI_WRAP 0x0020
#define LVFI_NEARESTXY 0x0040 #define LVFI_NEARESTXY 0x0040
#if (_WIN32_IE >= 0x0300)
#define LV_FINDINFOA LVFINDINFOA #define LV_FINDINFOA LVFINDINFOA
#define LV_FINDINFOW LVFINDINFOW #define LV_FINDINFOW LVFINDINFOW
#else
#define tagLVFINDINFOA _LV_FINDINFOA
#define LVFINDINFOA LV_FINDINFOA
#define tagLVFINDINFOW _LV_FINDINFOW
#define LVFINDINFOW LV_FINDINFOW
#endif
#define LV_FINDINFO LVFINDINFO #define LV_FINDINFO LVFINDINFO
typedef struct tagLVFINDINFOA typedef struct tagLVFINDINFOA
{ {
UINT flags; UINT flags;
LPCSTR psz; LPCSTR psz;
LPARAM lParam; LPARAM lParam;
POINT pt; POINT pt;
UINT vkDirection; UINT vkDirection;
skipping to change at line 3714 skipping to change at line 3368
#define LVHT_EX_GROUP_HEADER 0x10000000 #define LVHT_EX_GROUP_HEADER 0x10000000
#define LVHT_EX_GROUP_FOOTER 0x20000000 #define LVHT_EX_GROUP_FOOTER 0x20000000
#define LVHT_EX_GROUP_COLLAPSE 0x40000000 #define LVHT_EX_GROUP_COLLAPSE 0x40000000
#define LVHT_EX_GROUP_BACKGROUND 0x80000000 #define LVHT_EX_GROUP_BACKGROUND 0x80000000
#define LVHT_EX_GROUP_STATEICON 0x01000000 #define LVHT_EX_GROUP_STATEICON 0x01000000
#define LVHT_EX_GROUP_SUBSETLINK 0x02000000 #define LVHT_EX_GROUP_SUBSETLINK 0x02000000
#define LVHT_EX_GROUP (LVHT_EX_GROUP_BACKGROUND | LVHT_EX_GROUP_COL LAPSE | LVHT_EX_GROUP_FOOTER | LVHT_EX_GROUP_HEADER | LVHT_EX_GROUP_STATEICON | LVHT_EX_GROUP_SUBSETLINK) #define LVHT_EX_GROUP (LVHT_EX_GROUP_BACKGROUND | LVHT_EX_GROUP_COL LAPSE | LVHT_EX_GROUP_FOOTER | LVHT_EX_GROUP_HEADER | LVHT_EX_GROUP_STATEICON | LVHT_EX_GROUP_SUBSETLINK)
#define LVHT_EX_ONCONTENTS 0x04000000 // On item AND not on the backgrou nd #define LVHT_EX_ONCONTENTS 0x04000000 // On item AND not on the backgrou nd
#define LVHT_EX_FOOTER 0x08000000 #define LVHT_EX_FOOTER 0x08000000
#if (_WIN32_IE >= 0x0300)
#define LV_HITTESTINFO LVHITTESTINFO #define LV_HITTESTINFO LVHITTESTINFO
#else
#define tagLVHITTESTINFO _LV_HITTESTINFO
#define LVHITTESTINFO LV_HITTESTINFO
#endif
#define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO, iItem) #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO, iItem)
typedef struct tagLVHITTESTINFO typedef struct tagLVHITTESTINFO
{ {
POINT pt; POINT pt;
UINT flags; UINT flags;
int iItem; int iItem;
#if (_WIN32_IE >= 0x0300)
int iSubItem; // this is was NOT in win95. valid only for LVM_SUBITEMHIT TEST int iSubItem; // this is was NOT in win95. valid only for LVM_SUBITEMHIT TEST
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
int iGroup; // readonly. index of group. only valid for owner data. int iGroup; // readonly. index of group. only valid for owner data.
// supports single item in multiple groups. // supports single item in multiple groups.
#endif #endif
} LVHITTESTINFO, *LPLVHITTESTINFO; } LVHITTESTINFO, *LPLVHITTESTINFO;
#define LVM_HITTEST (LVM_FIRST + 18) #define LVM_HITTEST (LVM_FIRST + 18)
#define ListView_HitTest(hwndLV, pinfo) \ #define ListView_HitTest(hwndLV, pinfo) \
(int)SNDMSG((hwndLV), LVM_HITTEST, 0, (LPARAM)(LV_HITTESTINFO *)(pinfo)) (int)SNDMSG((hwndLV), LVM_HITTEST, 0, (LPARAM)(LV_HITTESTINFO *)(pinfo))
#define ListView_HitTestEx(hwndLV, pinfo) \ #define ListView_HitTestEx(hwndLV, pinfo) \
(int)SNDMSG((hwndLV), LVM_HITTEST, (WPARAM)-1, (LPARAM)(LV_HITTESTINFO *)(pi nfo)) (int)SNDMSG((hwndLV), LVM_HITTEST, (WPARAM)-1, (LPARAM)(LV_HITTESTINFO *)(pi nfo))
skipping to change at line 3779 skipping to change at line 3426
#define LVM_EDITLABEL LVM_EDITLABELA #define LVM_EDITLABEL LVM_EDITLABELA
#endif #endif
#define ListView_EditLabel(hwndLV, i) \ #define ListView_EditLabel(hwndLV, i) \
(HWND)SNDMSG((hwndLV), LVM_EDITLABEL, (WPARAM)(int)(i), 0L) (HWND)SNDMSG((hwndLV), LVM_EDITLABEL, (WPARAM)(int)(i), 0L)
#define LVM_GETEDITCONTROL (LVM_FIRST + 24) #define LVM_GETEDITCONTROL (LVM_FIRST + 24)
#define ListView_GetEditControl(hwndLV) \ #define ListView_GetEditControl(hwndLV) \
(HWND)SNDMSG((hwndLV), LVM_GETEDITCONTROL, 0, 0L) (HWND)SNDMSG((hwndLV), LVM_GETEDITCONTROL, 0, 0L)
#if (_WIN32_IE >= 0x0300)
#define LV_COLUMNA LVCOLUMNA #define LV_COLUMNA LVCOLUMNA
#define LV_COLUMNW LVCOLUMNW #define LV_COLUMNW LVCOLUMNW
#else
#define tagLVCOLUMNA _LV_COLUMNA
#define LVCOLUMNA LV_COLUMNA
#define tagLVCOLUMNW _LV_COLUMNW
#define LVCOLUMNW LV_COLUMNW
#endif
#define LV_COLUMN LVCOLUMN #define LV_COLUMN LVCOLUMN
#define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem) #define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem)
#define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem) #define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem)
typedef struct tagLVCOLUMNA typedef struct tagLVCOLUMNA
{ {
UINT mask; UINT mask;
int fmt; int fmt;
int cx; int cx;
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
int iSubItem; int iSubItem;
#if (_WIN32_IE >= 0x0300)
int iImage; int iImage;
int iOrder; int iOrder;
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
int cxMin; // min snap point int cxMin; // min snap point
int cxDefault; // default snap point int cxDefault; // default snap point
int cxIdeal; // read only. ideal may not eqaul current width if auto siz ed (LVS_EX_AUTOSIZECOLUMNS) to a lesser width. int cxIdeal; // read only. ideal may not eqaul current width if auto siz ed (LVS_EX_AUTOSIZECOLUMNS) to a lesser width.
#endif #endif
} LVCOLUMNA, *LPLVCOLUMNA; } LVCOLUMNA, *LPLVCOLUMNA;
typedef struct tagLVCOLUMNW typedef struct tagLVCOLUMNW
{ {
UINT mask; UINT mask;
int fmt; int fmt;
int cx; int cx;
LPWSTR pszText; LPWSTR pszText;
int cchTextMax; int cchTextMax;
int iSubItem; int iSubItem;
#if (_WIN32_IE >= 0x0300)
int iImage; int iImage;
int iOrder; int iOrder;
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
int cxMin; // min snap point int cxMin; // min snap point
int cxDefault; // default snap point int cxDefault; // default snap point
int cxIdeal; // read only. ideal may not eqaul current width if auto siz ed (LVS_EX_AUTOSIZECOLUMNS) to a lesser width. int cxIdeal; // read only. ideal may not eqaul current width if auto siz ed (LVS_EX_AUTOSIZECOLUMNS) to a lesser width.
#endif #endif
} LVCOLUMNW, *LPLVCOLUMNW; } LVCOLUMNW, *LPLVCOLUMNW;
#ifdef UNICODE #ifdef UNICODE
#define LVCOLUMN LVCOLUMNW #define LVCOLUMN LVCOLUMNW
#define LPLVCOLUMN LPLVCOLUMNW #define LPLVCOLUMN LPLVCOLUMNW
#define LVCOLUMN_V1_SIZE LVCOLUMNW_V1_SIZE #define LVCOLUMN_V1_SIZE LVCOLUMNW_V1_SIZE
#else #else
#define LVCOLUMN LVCOLUMNA #define LVCOLUMN LVCOLUMNA
#define LPLVCOLUMN LPLVCOLUMNA #define LPLVCOLUMN LPLVCOLUMNA
#define LVCOLUMN_V1_SIZE LVCOLUMNA_V1_SIZE #define LVCOLUMN_V1_SIZE LVCOLUMNA_V1_SIZE
#endif #endif
#define LVCF_FMT 0x0001 #define LVCF_FMT 0x0001
#define LVCF_WIDTH 0x0002 #define LVCF_WIDTH 0x0002
#define LVCF_TEXT 0x0004 #define LVCF_TEXT 0x0004
#define LVCF_SUBITEM 0x0008 #define LVCF_SUBITEM 0x0008
#if (_WIN32_IE >= 0x0300)
#define LVCF_IMAGE 0x0010 #define LVCF_IMAGE 0x0010
#define LVCF_ORDER 0x0020 #define LVCF_ORDER 0x0020
#endif #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
#define LVCF_MINWIDTH 0x0040 #define LVCF_MINWIDTH 0x0040
#define LVCF_DEFAULTWIDTH 0x0080 #define LVCF_DEFAULTWIDTH 0x0080
#define LVCF_IDEALWIDTH 0x0100 #define LVCF_IDEALWIDTH 0x0100
#endif #endif
// LVCFMT_ flags up to FFFF are shared with the header control (HDF_ flags). // LVCFMT_ flags up to FFFF are shared with the header control (HDF_ flags).
// Flags above FFFF are listview-specific. // Flags above FFFF are listview-specific.
#define LVCFMT_LEFT 0x0000 // Same as HDF_LEFT #define LVCFMT_LEFT 0x0000 // Same as HDF_LEFT
#define LVCFMT_RIGHT 0x0001 // Same as HDF_RIGHT #define LVCFMT_RIGHT 0x0001 // Same as HDF_RIGHT
#define LVCFMT_CENTER 0x0002 // Same as HDF_CENTER #define LVCFMT_CENTER 0x0002 // Same as HDF_CENTER
#define LVCFMT_JUSTIFYMASK 0x0003 // Same as HDF_JUSTIFYMASK #define LVCFMT_JUSTIFYMASK 0x0003 // Same as HDF_JUSTIFYMASK
#if (_WIN32_IE >= 0x0300)
#define LVCFMT_IMAGE 0x0800 // Same as HDF_IMAGE #define LVCFMT_IMAGE 0x0800 // Same as HDF_IMAGE
#define LVCFMT_BITMAP_ON_RIGHT 0x1000 // Same as HDF_BITMAP_ON_RIGHT #define LVCFMT_BITMAP_ON_RIGHT 0x1000 // Same as HDF_BITMAP_ON_RIGHT
#define LVCFMT_COL_HAS_IMAGES 0x8000 // Same as HDF_OWNERDRAW #define LVCFMT_COL_HAS_IMAGES 0x8000 // Same as HDF_OWNERDRAW
#endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LVCFMT_FIXED_WIDTH 0x00100 // Can't resize the column; same as HDF_FIXEDWIDTH #define LVCFMT_FIXED_WIDTH 0x00100 // Can't resize the column; same as HDF_FIXEDWIDTH
#define LVCFMT_NO_DPI_SCALE 0x40000 // If not set, CCM_DPISCALE will go vern scaling up fixed width #define LVCFMT_NO_DPI_SCALE 0x40000 // If not set, CCM_DPISCALE will go vern scaling up fixed width
#define LVCFMT_FIXED_RATIO 0x80000 // Width will augment with the row height #define LVCFMT_FIXED_RATIO 0x80000 // Width will augment with the row height
// The following flags // The following flags
#define LVCFMT_LINE_BREAK 0x100000 // Move to the top of the next list of columns #define LVCFMT_LINE_BREAK 0x100000 // Move to the top of the next list of columns
#define LVCFMT_FILL 0x200000 // Fill the remainder of the tile ar ea. Might have a title. #define LVCFMT_FILL 0x200000 // Fill the remainder of the tile ar ea. Might have a title.
#define LVCFMT_WRAP 0x400000 // This sub-item can be wrapped. #define LVCFMT_WRAP 0x400000 // This sub-item can be wrapped.
#define LVCFMT_NO_TITLE 0x800000 // This sub-item doesn't have an ti tle. #define LVCFMT_NO_TITLE 0x800000 // This sub-item doesn't have an ti tle.
#define LVCFMT_TILE_PLACEMENTMASK (LVCFMT_LINE_BREAK | LVCFMT_FILL) #define LVCFMT_TILE_PLACEMENTMASK (LVCFMT_LINE_BREAK | LVCFMT_FILL)
skipping to change at line 3933 skipping to change at line 3565
#define ListView_GetColumnWidth(hwnd, iCol) \ #define ListView_GetColumnWidth(hwnd, iCol) \
(int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0) (int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0)
#define LVSCW_AUTOSIZE -1 #define LVSCW_AUTOSIZE -1
#define LVSCW_AUTOSIZE_USEHEADER -2 #define LVSCW_AUTOSIZE_USEHEADER -2
#define LVM_SETCOLUMNWIDTH (LVM_FIRST + 30) #define LVM_SETCOLUMNWIDTH (LVM_FIRST + 30)
#define ListView_SetColumnWidth(hwnd, iCol, cx) \ #define ListView_SetColumnWidth(hwnd, iCol, cx) \
(BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx ), 0)) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx ), 0))
#if (_WIN32_IE >= 0x0300)
#define LVM_GETHEADER (LVM_FIRST + 31) #define LVM_GETHEADER (LVM_FIRST + 31)
#define ListView_GetHeader(hwnd)\ #define ListView_GetHeader(hwnd)\
(HWND)SNDMSG((hwnd), LVM_GETHEADER, 0, 0L) (HWND)SNDMSG((hwnd), LVM_GETHEADER, 0, 0L)
#endif
#define LVM_CREATEDRAGIMAGE (LVM_FIRST + 33) #define LVM_CREATEDRAGIMAGE (LVM_FIRST + 33)
#define ListView_CreateDragImage(hwnd, i, lpptUpLeft) \ #define ListView_CreateDragImage(hwnd, i, lpptUpLeft) \
(HIMAGELIST)SNDMSG((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(L PPOINT)(lpptUpLeft)) (HIMAGELIST)SNDMSG((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(L PPOINT)(lpptUpLeft))
#define LVM_GETVIEWRECT (LVM_FIRST + 34) #define LVM_GETVIEWRECT (LVM_FIRST + 34)
#define ListView_GetViewRect(hwnd, prc) \ #define ListView_GetViewRect(hwnd, prc) \
(BOOL)SNDMSG((hwnd), LVM_GETVIEWRECT, 0, (LPARAM)(RECT *)(prc)) (BOOL)SNDMSG((hwnd), LVM_GETVIEWRECT, 0, (LPARAM)(RECT *)(prc))
#define LVM_GETTEXTCOLOR (LVM_FIRST + 35) #define LVM_GETTEXTCOLOR (LVM_FIRST + 35)
skipping to change at line 3987 skipping to change at line 3617
(BOOL)SNDMSG((hwndLV), LVM_UPDATE, (WPARAM)(i), 0L) (BOOL)SNDMSG((hwndLV), LVM_UPDATE, (WPARAM)(i), 0L)
#define LVM_SETITEMSTATE (LVM_FIRST + 43) #define LVM_SETITEMSTATE (LVM_FIRST + 43)
#define ListView_SetItemState(hwndLV, i, data, mask) \ #define ListView_SetItemState(hwndLV, i, data, mask) \
{ LV_ITEM _macro_lvi;\ { LV_ITEM _macro_lvi;\
_macro_lvi.stateMask = (mask);\ _macro_lvi.stateMask = (mask);\
_macro_lvi.state = (data);\ _macro_lvi.state = (data);\
SNDMSG((hwndLV), LVM_SETITEMSTATE, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_macro_lvi );\ SNDMSG((hwndLV), LVM_SETITEMSTATE, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_macro_lvi );\
} }
#if (_WIN32_IE >= 0x0300)
#define ListView_SetCheckState(hwndLV, i, fCheck) \ #define ListView_SetCheckState(hwndLV, i, fCheck) \
ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), LVIS_STA TEIMAGEMASK) ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), LVIS_STA TEIMAGEMASK)
#endif
#define LVM_GETITEMSTATE (LVM_FIRST + 44) #define LVM_GETITEMSTATE (LVM_FIRST + 44)
#define ListView_GetItemState(hwndLV, i, mask) \ #define ListView_GetItemState(hwndLV, i, mask) \
(UINT)SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), (LPARAM)(mask)) (UINT)SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), (LPARAM)(mask))
#if (_WIN32_IE >= 0x0300)
#define ListView_GetCheckState(hwndLV, i) \ #define ListView_GetCheckState(hwndLV, i) \
((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), LVIS_STATEIMAGEMASK ))) >> 12) -1) ((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), LVIS_STATEIMAGEMASK ))) >> 12) -1)
#endif
#define LVM_GETITEMTEXTA (LVM_FIRST + 45) #define LVM_GETITEMTEXTA (LVM_FIRST + 45)
#define LVM_GETITEMTEXTW (LVM_FIRST + 115) #define LVM_GETITEMTEXTW (LVM_FIRST + 115)
#ifdef UNICODE #ifdef UNICODE
#define LVM_GETITEMTEXT LVM_GETITEMTEXTW #define LVM_GETITEMTEXT LVM_GETITEMTEXTW
#else #else
#define LVM_GETITEMTEXT LVM_GETITEMTEXTA #define LVM_GETITEMTEXT LVM_GETITEMTEXTA
#endif #endif
skipping to change at line 4034 skipping to change at line 3660
#define LVM_SETITEMTEXT LVM_SETITEMTEXTA #define LVM_SETITEMTEXT LVM_SETITEMTEXTA
#endif #endif
#define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_) \ #define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_) \
{ LV_ITEM _macro_lvi;\ { LV_ITEM _macro_lvi;\
_macro_lvi.iSubItem = (iSubItem_);\ _macro_lvi.iSubItem = (iSubItem_);\
_macro_lvi.pszText = (pszText_);\ _macro_lvi.pszText = (pszText_);\
SNDMSG((hwndLV), LVM_SETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_macro_lvi) ;\ SNDMSG((hwndLV), LVM_SETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_macro_lvi) ;\
} }
#if (_WIN32_IE >= 0x0300)
// these flags only apply to LVS_OWNERDATA listviews in report or list mode // these flags only apply to LVS_OWNERDATA listviews in report or list mode
#define LVSICF_NOINVALIDATEALL 0x00000001 #define LVSICF_NOINVALIDATEALL 0x00000001
#define LVSICF_NOSCROLL 0x00000002 #define LVSICF_NOSCROLL 0x00000002
#endif
#define LVM_SETITEMCOUNT (LVM_FIRST + 47) #define LVM_SETITEMCOUNT (LVM_FIRST + 47)
#define ListView_SetItemCount(hwndLV, cItems) \ #define ListView_SetItemCount(hwndLV, cItems) \
SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), 0) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), 0)
#if (_WIN32_IE >= 0x0300)
#define ListView_SetItemCountEx(hwndLV, cItems, dwFlags) \ #define ListView_SetItemCountEx(hwndLV, cItems, dwFlags) \
SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), (LPARAM)(dwFlags)) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), (LPARAM)(dwFlags))
#endif
typedef int (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM); typedef int (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
#define LVM_SORTITEMS (LVM_FIRST + 48) #define LVM_SORTITEMS (LVM_FIRST + 48)
#define ListView_SortItems(hwndLV, _pfnCompare, _lPrm) \ #define ListView_SortItems(hwndLV, _pfnCompare, _lPrm) \
(BOOL)SNDMSG((hwndLV), LVM_SORTITEMS, (WPARAM)(LPARAM)(_lPrm), \ (BOOL)SNDMSG((hwndLV), LVM_SORTITEMS, (WPARAM)(LPARAM)(_lPrm), \
(LPARAM)(PFNLVCOMPARE)(_pfnCompare)) (LPARAM)(PFNLVCOMPARE)(_pfnCompare))
#define LVM_SETITEMPOSITION32 (LVM_FIRST + 49) #define LVM_SETITEMPOSITION32 (LVM_FIRST + 49)
#define ListView_SetItemPosition32(hwndLV, i, x0, y0) \ #define ListView_SetItemPosition32(hwndLV, i, x0, y0) \
skipping to change at line 4083 skipping to change at line 3705
#ifdef UNICODE #ifdef UNICODE
#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW #define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW
#else #else
#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA #define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA
#endif #endif
#define ListView_GetISearchString(hwndLV, lpsz) \ #define ListView_GetISearchString(hwndLV, lpsz) \
(BOOL)SNDMSG((hwndLV), LVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) (BOOL)SNDMSG((hwndLV), LVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz))
#if (_WIN32_IE >= 0x0300)
#define LVM_SETICONSPACING (LVM_FIRST + 53) #define LVM_SETICONSPACING (LVM_FIRST + 53)
// -1 for cx and cy means we'll use the default (system settings) // -1 for cx and cy means we'll use the default (system settings)
// 0 for cx or cy means use the current setting (allows you to change just one p aram) // 0 for cx or cy means use the current setting (allows you to change just one p aram)
#define ListView_SetIconSpacing(hwndLV, cx, cy) \ #define ListView_SetIconSpacing(hwndLV, cx, cy) \
(DWORD)SNDMSG((hwndLV), LVM_SETICONSPACING, 0, MAKELONG(cx,cy)) (DWORD)SNDMSG((hwndLV), LVM_SETICONSPACING, 0, MAKELONG(cx,cy))
#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST + 54) // optional wParam == ma sk #define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST + 54) // optional wParam == ma sk
#define ListView_SetExtendedListViewStyle(hwndLV, dw)\ #define ListView_SetExtendedListViewStyle(hwndLV, dw)\
(DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw)
#if (_WIN32_IE >= 0x0400)
#define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw)\ #define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw)\
(DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw)
#endif
#define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST + 55) #define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST + 55)
#define ListView_GetExtendedListViewStyle(hwndLV)\ #define ListView_GetExtendedListViewStyle(hwndLV)\
(DWORD)SNDMSG((hwndLV), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0) (DWORD)SNDMSG((hwndLV), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
#define LVS_EX_GRIDLINES 0x00000001 #define LVS_EX_GRIDLINES 0x00000001
#define LVS_EX_SUBITEMIMAGES 0x00000002 #define LVS_EX_SUBITEMIMAGES 0x00000002
#define LVS_EX_CHECKBOXES 0x00000004 #define LVS_EX_CHECKBOXES 0x00000004
#define LVS_EX_TRACKSELECT 0x00000008 #define LVS_EX_TRACKSELECT 0x00000008
#define LVS_EX_HEADERDRAGDROP 0x00000010 #define LVS_EX_HEADERDRAGDROP 0x00000010
#define LVS_EX_FULLROWSELECT 0x00000020 // applies to report mode only #define LVS_EX_FULLROWSELECT 0x00000020 // applies to report mode only
#define LVS_EX_ONECLICKACTIVATE 0x00000040 #define LVS_EX_ONECLICKACTIVATE 0x00000040
#define LVS_EX_TWOCLICKACTIVATE 0x00000080 #define LVS_EX_TWOCLICKACTIVATE 0x00000080
#if (_WIN32_IE >= 0x0400)
#define LVS_EX_FLATSB 0x00000100 #define LVS_EX_FLATSB 0x00000100
#define LVS_EX_REGIONAL 0x00000200 #define LVS_EX_REGIONAL 0x00000200
#define LVS_EX_INFOTIP 0x00000400 // listview does InfoTips for you #define LVS_EX_INFOTIP 0x00000400 // listview does InfoTips for you
#define LVS_EX_UNDERLINEHOT 0x00000800 #define LVS_EX_UNDERLINEHOT 0x00000800
#define LVS_EX_UNDERLINECOLD 0x00001000 #define LVS_EX_UNDERLINECOLD 0x00001000
#define LVS_EX_MULTIWORKAREAS 0x00002000 #define LVS_EX_MULTIWORKAREAS 0x00002000
#endif
#if (_WIN32_IE >= 0x0500)
#define LVS_EX_LABELTIP 0x00004000 // listview unfolds partly hidden lab els if it does not have infotip text #define LVS_EX_LABELTIP 0x00004000 // listview unfolds partly hidden lab els if it does not have infotip text
#define LVS_EX_BORDERSELECT 0x00008000 // border selection style instead of highlight #define LVS_EX_BORDERSELECT 0x00008000 // border selection style instead of highlight
#endif // End (_WIN32_IE >= 0x0500) #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
#define LVS_EX_DOUBLEBUFFER 0x00010000 #define LVS_EX_DOUBLEBUFFER 0x00010000
#define LVS_EX_HIDELABELS 0x00020000 #define LVS_EX_HIDELABELS 0x00020000
#define LVS_EX_SINGLEROW 0x00040000 #define LVS_EX_SINGLEROW 0x00040000
#define LVS_EX_SNAPTOGRID 0x00080000 // Icons automatically snap to grid. #define LVS_EX_SNAPTOGRID 0x00080000 // Icons automatically snap to grid.
#define LVS_EX_SIMPLESELECT 0x00100000 // Also changes overlay rendering to top right for icon mode. #define LVS_EX_SIMPLESELECT 0x00100000 // Also changes overlay rendering to top right for icon mode.
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LVS_EX_JUSTIFYCOLUMNS 0x00200000 // Icons are lined up in columns tha t use up the whole view area. #define LVS_EX_JUSTIFYCOLUMNS 0x00200000 // Icons are lined up in columns tha t use up the whole view area.
#define LVS_EX_TRANSPARENTBKGND 0x00400000 // Background is painted by the pare nt via WM_PRINTCLIENT #define LVS_EX_TRANSPARENTBKGND 0x00400000 // Background is painted by the pare nt via WM_PRINTCLIENT
#define LVS_EX_TRANSPARENTSHADOWTEXT 0x00800000 // Enable shadow text on transp arent backgrounds only (useful with bitmaps) #define LVS_EX_TRANSPARENTSHADOWTEXT 0x00800000 // Enable shadow text on transp arent backgrounds only (useful with bitmaps)
#define LVS_EX_AUTOAUTOARRANGE 0x01000000 // Icons automatically arrange if no icon positions have been set #define LVS_EX_AUTOAUTOARRANGE 0x01000000 // Icons automatically arrange if no icon positions have been set
#define LVS_EX_HEADERINALLVIEWS 0x02000000 // Display column header in all view modes #define LVS_EX_HEADERINALLVIEWS 0x02000000 // Display column header in all view modes
#define LVS_EX_AUTOCHECKSELECT 0x08000000 #define LVS_EX_AUTOCHECKSELECT 0x08000000
#define LVS_EX_AUTOSIZECOLUMNS 0x10000000 #define LVS_EX_AUTOSIZECOLUMNS 0x10000000
#define LVS_EX_COLUMNSNAPPOINTS 0x40000000 #define LVS_EX_COLUMNSNAPPOINTS 0x40000000
#define LVS_EX_COLUMNOVERFLOW 0x80000000 #define LVS_EX_COLUMNOVERFLOW 0x80000000
skipping to change at line 4180 skipping to change at line 3795
#define ListView_SetHotCursor(hwnd, hcur) \ #define ListView_SetHotCursor(hwnd, hcur) \
(HCURSOR)SNDMSG((hwnd), LVM_SETHOTCURSOR, 0, (LPARAM)(hcur)) (HCURSOR)SNDMSG((hwnd), LVM_SETHOTCURSOR, 0, (LPARAM)(hcur))
#define LVM_GETHOTCURSOR (LVM_FIRST + 63) #define LVM_GETHOTCURSOR (LVM_FIRST + 63)
#define ListView_GetHotCursor(hwnd) \ #define ListView_GetHotCursor(hwnd) \
(HCURSOR)SNDMSG((hwnd), LVM_GETHOTCURSOR, 0, 0) (HCURSOR)SNDMSG((hwnd), LVM_GETHOTCURSOR, 0, 0)
#define LVM_APPROXIMATEVIEWRECT (LVM_FIRST + 64) #define LVM_APPROXIMATEVIEWRECT (LVM_FIRST + 64)
#define ListView_ApproximateViewRect(hwnd, iWidth, iHeight, iCount) \ #define ListView_ApproximateViewRect(hwnd, iWidth, iHeight, iCount) \
(DWORD)SNDMSG((hwnd), LVM_APPROXIMATEVIEWRECT, (WPARAM)(iCount), MAKELPA RAM(iWidth, iHeight)) (DWORD)SNDMSG((hwnd), LVM_APPROXIMATEVIEWRECT, (WPARAM)(iCount), MAKELPA RAM(iWidth, iHeight))
#endif // _WIN32_IE >= 0x0300
#if (_WIN32_IE >= 0x0400)
#define LV_MAX_WORKAREAS 16 #define LV_MAX_WORKAREAS 16
#define LVM_SETWORKAREAS (LVM_FIRST + 65) #define LVM_SETWORKAREAS (LVM_FIRST + 65)
#define ListView_SetWorkAreas(hwnd, nWorkAreas, prc) \ #define ListView_SetWorkAreas(hwnd, nWorkAreas, prc) \
(BOOL)SNDMSG((hwnd), LVM_SETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(R ECT *)(prc)) (BOOL)SNDMSG((hwnd), LVM_SETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(R ECT *)(prc))
#define LVM_GETWORKAREAS (LVM_FIRST + 70) #define LVM_GETWORKAREAS (LVM_FIRST + 70)
#define ListView_GetWorkAreas(hwnd, nWorkAreas, prc) \ #define ListView_GetWorkAreas(hwnd, nWorkAreas, prc) \
(BOOL)SNDMSG((hwnd), LVM_GETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(R ECT *)(prc)) (BOOL)SNDMSG((hwnd), LVM_GETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(R ECT *)(prc))
skipping to change at line 4251 skipping to change at line 3863
int yOffsetPercent; int yOffsetPercent;
} LVBKIMAGEW, *LPLVBKIMAGEW; } LVBKIMAGEW, *LPLVBKIMAGEW;
#define LVBKIF_SOURCE_NONE 0x00000000 #define LVBKIF_SOURCE_NONE 0x00000000
#define LVBKIF_SOURCE_HBITMAP 0x00000001 #define LVBKIF_SOURCE_HBITMAP 0x00000001
#define LVBKIF_SOURCE_URL 0x00000002 #define LVBKIF_SOURCE_URL 0x00000002
#define LVBKIF_SOURCE_MASK 0x00000003 #define LVBKIF_SOURCE_MASK 0x00000003
#define LVBKIF_STYLE_NORMAL 0x00000000 #define LVBKIF_STYLE_NORMAL 0x00000000
#define LVBKIF_STYLE_TILE 0x00000010 #define LVBKIF_STYLE_TILE 0x00000010
#define LVBKIF_STYLE_MASK 0x00000010 #define LVBKIF_STYLE_MASK 0x00000010
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define LVBKIF_FLAG_TILEOFFSET 0x00000100 #define LVBKIF_FLAG_TILEOFFSET 0x00000100
#define LVBKIF_TYPE_WATERMARK 0x10000000 #define LVBKIF_TYPE_WATERMARK 0x10000000
#define LVBKIF_FLAG_ALPHABLEND 0x20000000 #define LVBKIF_FLAG_ALPHABLEND 0x20000000
#endif #endif
#define LVM_SETBKIMAGEA (LVM_FIRST + 68) #define LVM_SETBKIMAGEA (LVM_FIRST + 68)
#define LVM_SETBKIMAGEW (LVM_FIRST + 138) #define LVM_SETBKIMAGEW (LVM_FIRST + 138)
#define LVM_GETBKIMAGEA (LVM_FIRST + 69) #define LVM_GETBKIMAGEA (LVM_FIRST + 69)
#define LVM_GETBKIMAGEW (LVM_FIRST + 139) #define LVM_GETBKIMAGEW (LVM_FIRST + 139)
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140)
#define ListView_SetSelectedColumn(hwnd, iCol) \ #define ListView_SetSelectedColumn(hwnd, iCol) \
SNDMSG((hwnd), LVM_SETSELECTEDCOLUMN, (WPARAM)(iCol), 0) SNDMSG((hwnd), LVM_SETSELECTEDCOLUMN, (WPARAM)(iCol), 0)
#define LV_VIEW_ICON 0x0000 #define LV_VIEW_ICON 0x0000
#define LV_VIEW_DETAILS 0x0001 #define LV_VIEW_DETAILS 0x0001
#define LV_VIEW_SMALLICON 0x0002 #define LV_VIEW_SMALLICON 0x0002
#define LV_VIEW_LIST 0x0003 #define LV_VIEW_LIST 0x0003
#define LV_VIEW_TILE 0x0004 #define LV_VIEW_TILE 0x0004
#define LV_VIEW_MAX 0x0004 #define LV_VIEW_MAX 0x0004
skipping to change at line 4288 skipping to change at line 3900
#define LVM_GETVIEW (LVM_FIRST + 143) #define LVM_GETVIEW (LVM_FIRST + 143)
#define ListView_GetView(hwnd) \ #define ListView_GetView(hwnd) \
(DWORD)SNDMSG((hwnd), LVM_GETVIEW, 0, 0) (DWORD)SNDMSG((hwnd), LVM_GETVIEW, 0, 0)
#define LVGF_NONE 0x00000000 #define LVGF_NONE 0x00000000
#define LVGF_HEADER 0x00000001 #define LVGF_HEADER 0x00000001
#define LVGF_FOOTER 0x00000002 #define LVGF_FOOTER 0x00000002
#define LVGF_STATE 0x00000004 #define LVGF_STATE 0x00000004
#define LVGF_ALIGN 0x00000008 #define LVGF_ALIGN 0x00000008
#define LVGF_GROUPID 0x00000010 #define LVGF_GROUPID 0x00000010
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LVGF_SUBTITLE 0x00000100 // pszSubtitle is valid #define LVGF_SUBTITLE 0x00000100 // pszSubtitle is valid
#define LVGF_TASK 0x00000200 // pszTask is valid #define LVGF_TASK 0x00000200 // pszTask is valid
#define LVGF_DESCRIPTIONTOP 0x00000400 // pszDescriptionTop is valid #define LVGF_DESCRIPTIONTOP 0x00000400 // pszDescriptionTop is valid
#define LVGF_DESCRIPTIONBOTTOM 0x00000800 // pszDescriptionBottom is valid #define LVGF_DESCRIPTIONBOTTOM 0x00000800 // pszDescriptionBottom is valid
#define LVGF_TITLEIMAGE 0x00001000 // iTitleImage is valid #define LVGF_TITLEIMAGE 0x00001000 // iTitleImage is valid
#define LVGF_EXTENDEDIMAGE 0x00002000 // iExtendedImage is valid #define LVGF_EXTENDEDIMAGE 0x00002000 // iExtendedImage is valid
#define LVGF_ITEMS 0x00004000 // iFirstItem and cItems are valid #define LVGF_ITEMS 0x00004000 // iFirstItem and cItems are valid
#define LVGF_SUBSET 0x00008000 // pszSubsetTitle is valid #define LVGF_SUBSET 0x00008000 // pszSubsetTitle is valid
#define LVGF_SUBSETITEMS 0x00010000 // readonly, cItems holds count of i tems in visible subset, iFirstItem is valid #define LVGF_SUBSETITEMS 0x00010000 // readonly, cItems holds count of i tems in visible subset, iFirstItem is valid
#endif #endif
skipping to change at line 4332 skipping to change at line 3944
int cchHeader; int cchHeader;
LPWSTR pszFooter; LPWSTR pszFooter;
int cchFooter; int cchFooter;
int iGroupId; int iGroupId;
UINT stateMask; UINT stateMask;
UINT state; UINT state;
UINT uAlign; UINT uAlign;
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
LPWSTR pszSubtitle; LPWSTR pszSubtitle;
UINT cchSubtitle; UINT cchSubtitle;
LPWSTR pszTask; LPWSTR pszTask;
UINT cchTask; UINT cchTask;
LPWSTR pszDescriptionTop; LPWSTR pszDescriptionTop;
UINT cchDescriptionTop; UINT cchDescriptionTop;
LPWSTR pszDescriptionBottom; LPWSTR pszDescriptionBottom;
UINT cchDescriptionBottom; UINT cchDescriptionBottom;
int iTitleImage; int iTitleImage;
int iExtendedImage; int iExtendedImage;
skipping to change at line 4473 skipping to change at line 4085
(UINT) SNDMSG((hwnd), LVM_GETGROUPSTATE, (WPARAM)(dwGroupId), (LPARAM)(dwMask) ) (UINT) SNDMSG((hwnd), LVM_GETGROUPSTATE, (WPARAM)(dwGroupId), (LPARAM)(dwMask) )
#define LVM_GETFOCUSEDGROUP (LVM_FIRST + 93) #define LVM_GETFOCUSEDGROUP (LVM_FIRST + 93)
#define ListView_GetFocusedGroup(hwnd) \ #define ListView_GetFocusedGroup(hwnd) \
SNDMSG((hwnd), LVM_GETFOCUSEDGROUP, 0, 0) SNDMSG((hwnd), LVM_GETFOCUSEDGROUP, 0, 0)
#define LVTVIF_AUTOSIZE 0x00000000 #define LVTVIF_AUTOSIZE 0x00000000
#define LVTVIF_FIXEDWIDTH 0x00000001 #define LVTVIF_FIXEDWIDTH 0x00000001
#define LVTVIF_FIXEDHEIGHT 0x00000002 #define LVTVIF_FIXEDHEIGHT 0x00000002
#define LVTVIF_FIXEDSIZE 0x00000003 #define LVTVIF_FIXEDSIZE 0x00000003
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LVTVIF_EXTENDED 0x00000004 #define LVTVIF_EXTENDED 0x00000004
#endif #endif
#define LVTVIM_TILESIZE 0x00000001 #define LVTVIM_TILESIZE 0x00000001
#define LVTVIM_COLUMNS 0x00000002 #define LVTVIM_COLUMNS 0x00000002
#define LVTVIM_LABELMARGIN 0x00000004 #define LVTVIM_LABELMARGIN 0x00000004
typedef struct tagLVTILEVIEWINFO typedef struct tagLVTILEVIEWINFO
{ {
UINT cbSize; UINT cbSize;
skipping to change at line 4497 skipping to change at line 4109
int cLines; int cLines;
RECT rcLabelMargin; RECT rcLabelMargin;
} LVTILEVIEWINFO, *PLVTILEVIEWINFO; } LVTILEVIEWINFO, *PLVTILEVIEWINFO;
typedef struct tagLVTILEINFO typedef struct tagLVTILEINFO
{ {
UINT cbSize; UINT cbSize;
int iItem; int iItem;
UINT cColumns; UINT cColumns;
PUINT puColumns; PUINT puColumns;
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
int* piColFmt; int* piColFmt;
#endif #endif
} LVTILEINFO, *PLVTILEINFO; } LVTILEINFO, *PLVTILEINFO;
#define LVTILEINFO_V5_SIZE CCSIZEOF_STRUCT(LVTILEINFO, puColumns) #define LVTILEINFO_V5_SIZE CCSIZEOF_STRUCT(LVTILEINFO, puColumns)
#define LVM_SETTILEVIEWINFO (LVM_FIRST + 162) #define LVM_SETTILEVIEWINFO (LVM_FIRST + 162)
#define ListView_SetTileViewInfo(hwnd, ptvi) \ #define ListView_SetTileViewInfo(hwnd, ptvi) \
SNDMSG((hwnd), LVM_SETTILEVIEWINFO, 0, (LPARAM)(ptvi)) SNDMSG((hwnd), LVM_SETTILEVIEWINFO, 0, (LPARAM)(ptvi))
skipping to change at line 4604 skipping to change at line 4216
(UINT)SNDMSG((hwnd), LVM_MAPINDEXTOID, (WPARAM)(index), (LPARAM)0) (UINT)SNDMSG((hwnd), LVM_MAPINDEXTOID, (WPARAM)(index), (LPARAM)0)
#define LVM_MAPIDTOINDEX (LVM_FIRST + 181) #define LVM_MAPIDTOINDEX (LVM_FIRST + 181)
#define ListView_MapIDToIndex(hwnd, id) \ #define ListView_MapIDToIndex(hwnd, id) \
(UINT)SNDMSG((hwnd), LVM_MAPIDTOINDEX, (WPARAM)(id), (LPARAM)0) (UINT)SNDMSG((hwnd), LVM_MAPIDTOINDEX, (WPARAM)(id), (LPARAM)0)
#define LVM_ISITEMVISIBLE (LVM_FIRST + 182) #define LVM_ISITEMVISIBLE (LVM_FIRST + 182)
#define ListView_IsItemVisible(hwnd, index) \ #define ListView_IsItemVisible(hwnd, index) \
(UINT)SNDMSG((hwnd), LVM_ISITEMVISIBLE, (WPARAM)(index), (LPARAM)0) (UINT)SNDMSG((hwnd), LVM_ISITEMVISIBLE, (WPARAM)(index), (LPARAM)0)
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define ListView_SetGroupHeaderImageList(hwnd, himl) \ #define ListView_SetGroupHeaderImageList(hwnd, himl) \
(HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)LVSIL_GROUPHEADER, (LPA RAM)(HIMAGELIST)(himl)) (HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)LVSIL_GROUPHEADER, (LPA RAM)(HIMAGELIST)(himl))
#define ListView_GetGroupHeaderImageList(hwnd) \ #define ListView_GetGroupHeaderImageList(hwnd) \
(HIMAGELIST)SNDMSG((hwnd), LVM_GETIMAGELIST, (WPARAM)LVSIL_GROUPHEADER, 0L) (HIMAGELIST)SNDMSG((hwnd), LVM_GETIMAGELIST, (WPARAM)LVSIL_GROUPHEADER, 0L)
#define LVM_GETEMPTYTEXT (LVM_FIRST + 204) #define LVM_GETEMPTYTEXT (LVM_FIRST + 204)
#define ListView_GetEmptyText(hwnd, pszText, cchText) \ #define ListView_GetEmptyText(hwnd, pszText, cchText) \
(BOOL)SNDMSG((hwnd), LVM_GETEMPTYTEXT, (WPARAM)(cchText), (LPARAM)(pszText)) (BOOL)SNDMSG((hwnd), LVM_GETEMPTYTEXT, (WPARAM)(cchText), (LPARAM)(pszText))
skipping to change at line 4705 skipping to change at line 4317
#define LVM_SETBKIMAGE LVM_SETBKIMAGEA #define LVM_SETBKIMAGE LVM_SETBKIMAGEA
#define LVM_GETBKIMAGE LVM_GETBKIMAGEA #define LVM_GETBKIMAGE LVM_GETBKIMAGEA
#endif #endif
#define ListView_SetBkImage(hwnd, plvbki) \ #define ListView_SetBkImage(hwnd, plvbki) \
(BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki)) (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki))
#define ListView_GetBkImage(hwnd, plvbki) \ #define ListView_GetBkImage(hwnd, plvbki) \
(BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki)) (BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki))
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0300)
#define LPNM_LISTVIEW LPNMLISTVIEW #define LPNM_LISTVIEW LPNMLISTVIEW
#define NM_LISTVIEW NMLISTVIEW #define NM_LISTVIEW NMLISTVIEW
#else
#define tagNMLISTVIEW _NM_LISTVIEW
#define NMLISTVIEW NM_LISTVIEW
#define LPNMLISTVIEW LPNM_LISTVIEW
#endif
typedef struct tagNMLISTVIEW typedef struct tagNMLISTVIEW
{ {
NMHDR hdr; NMHDR hdr;
int iItem; int iItem;
int iSubItem; int iSubItem;
UINT uNewState; UINT uNewState;
UINT uOldState; UINT uOldState;
UINT uChanged; UINT uChanged;
POINT ptAction; POINT ptAction;
LPARAM lParam; LPARAM lParam;
} NMLISTVIEW, *LPNMLISTVIEW; } NMLISTVIEW, *LPNMLISTVIEW;
#if (_WIN32_IE >= 0x400)
// NMITEMACTIVATE is used instead of NMLISTVIEW in IE >= 0x400 // NMITEMACTIVATE is used instead of NMLISTVIEW in IE >= 0x400
// therefore all the fields are the same except for extra uKeyFlags // therefore all the fields are the same except for extra uKeyFlags
// they are used to store key flags at the time of the single click with // they are used to store key flags at the time of the single click with
// delayed activation - because by the time the timer goes off a user may // delayed activation - because by the time the timer goes off a user may
// not hold the keys (shift, ctrl) any more // not hold the keys (shift, ctrl) any more
typedef struct tagNMITEMACTIVATE typedef struct tagNMITEMACTIVATE
{ {
NMHDR hdr; NMHDR hdr;
int iItem; int iItem;
int iSubItem; int iSubItem;
skipping to change at line 4751 skipping to change at line 4354
UINT uChanged; UINT uChanged;
POINT ptAction; POINT ptAction;
LPARAM lParam; LPARAM lParam;
UINT uKeyFlags; UINT uKeyFlags;
} NMITEMACTIVATE, *LPNMITEMACTIVATE; } NMITEMACTIVATE, *LPNMITEMACTIVATE;
// key flags stored in uKeyFlags // key flags stored in uKeyFlags
#define LVKF_ALT 0x0001 #define LVKF_ALT 0x0001
#define LVKF_CONTROL 0x0002 #define LVKF_CONTROL 0x0002
#define LVKF_SHIFT 0x0004 #define LVKF_SHIFT 0x0004
#endif //(_WIN32_IE >= 0x0400)
#if (_WIN32_IE >= 0x0300)
#define NMLVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMLVCUSTOMDRAW, clrTextBk) #define NMLVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMLVCUSTOMDRAW, clrTextBk)
typedef struct tagNMLVCUSTOMDRAW typedef struct tagNMLVCUSTOMDRAW
{ {
NMCUSTOMDRAW nmcd; NMCUSTOMDRAW nmcd;
COLORREF clrText; COLORREF clrText;
COLORREF clrTextBk; COLORREF clrTextBk;
#if (_WIN32_IE >= 0x0400)
int iSubItem; int iSubItem;
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
DWORD dwItemType; DWORD dwItemType;
// Item custom draw // Item custom draw
COLORREF clrFace; COLORREF clrFace;
int iIconEffect; int iIconEffect;
int iIconPhase; int iIconPhase;
int iPartId; int iPartId;
int iStateId; int iStateId;
// Group Custom Draw // Group Custom Draw
skipping to change at line 4848 skipping to change at line 4447
NMHDR hdr; NMHDR hdr;
int iFrom; int iFrom;
int iTo; int iTo;
UINT uNewState; UINT uNewState;
UINT uOldState; UINT uOldState;
} NMLVODSTATECHANGE, *LPNMLVODSTATECHANGE; } NMLVODSTATECHANGE, *LPNMLVODSTATECHANGE;
#define PNM_ODSTATECHANGE LPNMLVODSTATECHANGE #define PNM_ODSTATECHANGE LPNMLVODSTATECHANGE
#define LPNM_ODSTATECHANGE LPNMLVODSTATECHANGE #define LPNM_ODSTATECHANGE LPNMLVODSTATECHANGE
#define NM_ODSTATECHANGE NMLVODSTATECHANGE #define NM_ODSTATECHANGE NMLVODSTATECHANGE
#endif // _WIN32_IE >= 0x0300
#define LVN_ITEMCHANGING (LVN_FIRST-0) #define LVN_ITEMCHANGING (LVN_FIRST-0)
#define LVN_ITEMCHANGED (LVN_FIRST-1) #define LVN_ITEMCHANGED (LVN_FIRST-1)
#define LVN_INSERTITEM (LVN_FIRST-2) #define LVN_INSERTITEM (LVN_FIRST-2)
#define LVN_DELETEITEM (LVN_FIRST-3) #define LVN_DELETEITEM (LVN_FIRST-3)
#define LVN_DELETEALLITEMS (LVN_FIRST-4) #define LVN_DELETEALLITEMS (LVN_FIRST-4)
#define LVN_BEGINLABELEDITA (LVN_FIRST-5) #define LVN_BEGINLABELEDITA (LVN_FIRST-5)
#define LVN_BEGINLABELEDITW (LVN_FIRST-75) #define LVN_BEGINLABELEDITW (LVN_FIRST-75)
#define LVN_ENDLABELEDITA (LVN_FIRST-6) #define LVN_ENDLABELEDITA (LVN_FIRST-6)
#define LVN_ENDLABELEDITW (LVN_FIRST-76) #define LVN_ENDLABELEDITW (LVN_FIRST-76)
#define LVN_COLUMNCLICK (LVN_FIRST-8) #define LVN_COLUMNCLICK (LVN_FIRST-8)
#define LVN_BEGINDRAG (LVN_FIRST-9) #define LVN_BEGINDRAG (LVN_FIRST-9)
#define LVN_BEGINRDRAG (LVN_FIRST-11) #define LVN_BEGINRDRAG (LVN_FIRST-11)
#if (_WIN32_IE >= 0x0300)
#define LVN_ODCACHEHINT (LVN_FIRST-13) #define LVN_ODCACHEHINT (LVN_FIRST-13)
#define LVN_ODFINDITEMA (LVN_FIRST-52) #define LVN_ODFINDITEMA (LVN_FIRST-52)
#define LVN_ODFINDITEMW (LVN_FIRST-79) #define LVN_ODFINDITEMW (LVN_FIRST-79)
#define LVN_ITEMACTIVATE (LVN_FIRST-14) #define LVN_ITEMACTIVATE (LVN_FIRST-14)
#define LVN_ODSTATECHANGED (LVN_FIRST-15) #define LVN_ODSTATECHANGED (LVN_FIRST-15)
#ifdef UNICODE #ifdef UNICODE
#define LVN_ODFINDITEM LVN_ODFINDITEMW #define LVN_ODFINDITEM LVN_ODFINDITEMW
#else #else
#define LVN_ODFINDITEM LVN_ODFINDITEMA #define LVN_ODFINDITEM LVN_ODFINDITEMA
#endif #endif
#endif // _WIN32_IE >= 0x0300
#if (_WIN32_IE >= 0x0400)
#define LVN_HOTTRACK (LVN_FIRST-21) #define LVN_HOTTRACK (LVN_FIRST-21)
#endif
#define LVN_GETDISPINFOA (LVN_FIRST-50) #define LVN_GETDISPINFOA (LVN_FIRST-50)
#define LVN_GETDISPINFOW (LVN_FIRST-77) #define LVN_GETDISPINFOW (LVN_FIRST-77)
#define LVN_SETDISPINFOA (LVN_FIRST-51) #define LVN_SETDISPINFOA (LVN_FIRST-51)
#define LVN_SETDISPINFOW (LVN_FIRST-78) #define LVN_SETDISPINFOW (LVN_FIRST-78)
#ifdef UNICODE #ifdef UNICODE
#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW #define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW
#define LVN_ENDLABELEDIT LVN_ENDLABELEDITW #define LVN_ENDLABELEDIT LVN_ENDLABELEDITW
#define LVN_GETDISPINFO LVN_GETDISPINFOW #define LVN_GETDISPINFO LVN_GETDISPINFOW
#define LVN_SETDISPINFO LVN_SETDISPINFOW #define LVN_SETDISPINFO LVN_SETDISPINFOW
#else #else
#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA #define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
#define LVN_ENDLABELEDIT LVN_ENDLABELEDITA #define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
#define LVN_GETDISPINFO LVN_GETDISPINFOA #define LVN_GETDISPINFO LVN_GETDISPINFOA
#define LVN_SETDISPINFO LVN_SETDISPINFOA #define LVN_SETDISPINFO LVN_SETDISPINFOA
#endif #endif
#define LVIF_DI_SETITEM 0x1000 #define LVIF_DI_SETITEM 0x1000
#if (_WIN32_IE >= 0x0300)
#define LV_DISPINFOA NMLVDISPINFOA #define LV_DISPINFOA NMLVDISPINFOA
#define LV_DISPINFOW NMLVDISPINFOW #define LV_DISPINFOW NMLVDISPINFOW
#else
#define tagLVDISPINFO _LV_DISPINFO
#define NMLVDISPINFOA LV_DISPINFOA
#define tagLVDISPINFOW _LV_DISPINFOW
#define NMLVDISPINFOW LV_DISPINFOW
#endif
#define LV_DISPINFO NMLVDISPINFO #define LV_DISPINFO NMLVDISPINFO
typedef struct tagLVDISPINFO { typedef struct tagLVDISPINFO {
NMHDR hdr; NMHDR hdr;
LVITEMA item; LVITEMA item;
} NMLVDISPINFOA, *LPNMLVDISPINFOA; } NMLVDISPINFOA, *LPNMLVDISPINFOA;
typedef struct tagLVDISPINFOW { typedef struct tagLVDISPINFOW {
NMHDR hdr; NMHDR hdr;
skipping to change at line 4931 skipping to change at line 4518
} NMLVDISPINFOW, *LPNMLVDISPINFOW; } NMLVDISPINFOW, *LPNMLVDISPINFOW;
#ifdef UNICODE #ifdef UNICODE
#define NMLVDISPINFO NMLVDISPINFOW #define NMLVDISPINFO NMLVDISPINFOW
#else #else
#define NMLVDISPINFO NMLVDISPINFOA #define NMLVDISPINFO NMLVDISPINFOA
#endif #endif
#define LVN_KEYDOWN (LVN_FIRST-55) #define LVN_KEYDOWN (LVN_FIRST-55)
#if (_WIN32_IE >= 0x0300)
#define LV_KEYDOWN NMLVKEYDOWN #define LV_KEYDOWN NMLVKEYDOWN
#else
#define tagLVKEYDOWN _LV_KEYDOWN
#define NMLVKEYDOWN LV_KEYDOWN
#endif
#ifdef _WIN32 #ifdef _WIN32
#include <pshpack1.h> #include <pshpack1.h>
#endif #endif
typedef struct tagLVKEYDOWN typedef struct tagLVKEYDOWN
{ {
NMHDR hdr; NMHDR hdr;
WORD wVKey; WORD wVKey;
UINT flags; UINT flags;
} NMLVKEYDOWN, *LPNMLVKEYDOWN; } NMLVKEYDOWN, *LPNMLVKEYDOWN;
#ifdef _WIN32 #ifdef _WIN32
#include <poppack.h> #include <poppack.h>
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define LVN_MARQUEEBEGIN (LVN_FIRST-56) #define LVN_MARQUEEBEGIN (LVN_FIRST-56)
#endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
typedef struct tagNMLVLINK typedef struct tagNMLVLINK
{ {
NMHDR hdr; NMHDR hdr;
LITEM link; LITEM link;
int iItem; int iItem;
int iSubItem; int iSubItem;
} NMLVLINK, *PNMLVLINK; } NMLVLINK, *PNMLVLINK;
#endif #endif
#if (_WIN32_IE >= 0x0400)
typedef struct tagNMLVGETINFOTIPA typedef struct tagNMLVGETINFOTIPA
{ {
NMHDR hdr; NMHDR hdr;
DWORD dwFlags; DWORD dwFlags;
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
int iItem; int iItem;
int iSubItem; int iSubItem;
LPARAM lParam; LPARAM lParam;
} NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA; } NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;
skipping to change at line 5007 skipping to change at line 4586
#ifdef UNICODE #ifdef UNICODE
#define LVN_GETINFOTIP LVN_GETINFOTIPW #define LVN_GETINFOTIP LVN_GETINFOTIPW
#define NMLVGETINFOTIP NMLVGETINFOTIPW #define NMLVGETINFOTIP NMLVGETINFOTIPW
#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW #define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW
#else #else
#define LVN_GETINFOTIP LVN_GETINFOTIPA #define LVN_GETINFOTIP LVN_GETINFOTIPA
#define NMLVGETINFOTIP NMLVGETINFOTIPA #define NMLVGETINFOTIP NMLVGETINFOTIPA
#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA #define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA
#endif #endif
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0500)
// //
// LVN_INCREMENTALSEARCH gives the app the opportunity to customize // LVN_INCREMENTALSEARCH gives the app the opportunity to customize
// incremental search. For example, if the items are numeric, // incremental search. For example, if the items are numeric,
// the app can do numerical search instead of string search. // the app can do numerical search instead of string search.
// //
// ListView notifies the app with NMLVFINDITEM. // ListView notifies the app with NMLVFINDITEM.
// The app sets pnmfi->lvfi.lParam to the result of the incremental search, // The app sets pnmfi->lvfi.lParam to the result of the incremental search,
// or to LVNSCH_DEFAULT if ListView should do the default search, // or to LVNSCH_DEFAULT if ListView should do the default search,
// or to LVNSCH_ERROR to fail the search and just beep, // or to LVNSCH_ERROR to fail the search and just beep,
// or to LVNSCH_IGNORE to stop all ListView processing. // or to LVNSCH_IGNORE to stop all ListView processing.
skipping to change at line 5037 skipping to change at line 4612
#define LVN_INCREMENTALSEARCHA (LVN_FIRST-62) #define LVN_INCREMENTALSEARCHA (LVN_FIRST-62)
#define LVN_INCREMENTALSEARCHW (LVN_FIRST-63) #define LVN_INCREMENTALSEARCHW (LVN_FIRST-63)
#ifdef UNICODE #ifdef UNICODE
#define LVN_INCREMENTALSEARCH LVN_INCREMENTALSEARCHW #define LVN_INCREMENTALSEARCH LVN_INCREMENTALSEARCHW
#else #else
#define LVN_INCREMENTALSEARCH LVN_INCREMENTALSEARCHA #define LVN_INCREMENTALSEARCH LVN_INCREMENTALSEARCHA
#endif #endif
#endif // _WIN32_IE >= 0x0500 #if (NTDDI_VERSION >= NTDDI_VISTA)
#if _WIN32_WINNT >= 0x0600
#define LVN_COLUMNDROPDOWN (LVN_FIRST-64) #define LVN_COLUMNDROPDOWN (LVN_FIRST-64)
#define LVN_COLUMNOVERFLOWCLICK (LVN_FIRST-66) #define LVN_COLUMNOVERFLOWCLICK (LVN_FIRST-66)
#endif // _WIN32_WINNT >= 0x0600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
typedef struct tagNMLVSCROLL typedef struct tagNMLVSCROLL
{ {
NMHDR hdr; NMHDR hdr;
int dx; int dx;
int dy; int dy;
} NMLVSCROLL, *LPNMLVSCROLL; } NMLVSCROLL, *LPNMLVSCROLL;
#define LVN_BEGINSCROLL (LVN_FIRST-80) #define LVN_BEGINSCROLL (LVN_FIRST-80)
#define LVN_ENDSCROLL (LVN_FIRST-81) #define LVN_ENDSCROLL (LVN_FIRST-81)
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define LVN_LINKCLICK (LVN_FIRST-84) #define LVN_LINKCLICK (LVN_FIRST-84)
#define EMF_CENTERED 0x00000001 // render markup centered in the lis tview area #define EMF_CENTERED 0x00000001 // render markup centered in the lis tview area
typedef struct tagNMLVEMPTYMARKUP typedef struct tagNMLVEMPTYMARKUP
{ {
NMHDR hdr; NMHDR hdr;
// out params from client back to listview // out params from client back to listview
DWORD dwFlags; // EMF_* DWORD dwFlags; // EMF_*
WCHAR szMarkup[L_MAX_URL_LENGTH]; // markup displayed WCHAR szMarkup[L_MAX_URL_LENGTH]; // markup displayed
skipping to change at line 5103 skipping to change at line 4676
#endif #endif
// begin_r_commctrl // begin_r_commctrl
#define TVS_HASBUTTONS 0x0001 #define TVS_HASBUTTONS 0x0001
#define TVS_HASLINES 0x0002 #define TVS_HASLINES 0x0002
#define TVS_LINESATROOT 0x0004 #define TVS_LINESATROOT 0x0004
#define TVS_EDITLABELS 0x0008 #define TVS_EDITLABELS 0x0008
#define TVS_DISABLEDRAGDROP 0x0010 #define TVS_DISABLEDRAGDROP 0x0010
#define TVS_SHOWSELALWAYS 0x0020 #define TVS_SHOWSELALWAYS 0x0020
#if (_WIN32_IE >= 0x0300)
#define TVS_RTLREADING 0x0040 #define TVS_RTLREADING 0x0040
#define TVS_NOTOOLTIPS 0x0080 #define TVS_NOTOOLTIPS 0x0080
#define TVS_CHECKBOXES 0x0100 #define TVS_CHECKBOXES 0x0100
#define TVS_TRACKSELECT 0x0200 #define TVS_TRACKSELECT 0x0200
#if (_WIN32_IE >= 0x0400)
#define TVS_SINGLEEXPAND 0x0400 #define TVS_SINGLEEXPAND 0x0400
#define TVS_INFOTIP 0x0800 #define TVS_INFOTIP 0x0800
#define TVS_FULLROWSELECT 0x1000 #define TVS_FULLROWSELECT 0x1000
#define TVS_NOSCROLL 0x2000 #define TVS_NOSCROLL 0x2000
#define TVS_NONEVENHEIGHT 0x4000 #define TVS_NONEVENHEIGHT 0x4000
#endif
#if (_WIN32_IE >= 0x500)
#define TVS_NOHSCROLL 0x8000 // TVS_NOSCROLL overrides this #define TVS_NOHSCROLL 0x8000 // TVS_NOSCROLL overrides this
#endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
#define TVS_EX_NOSINGLECOLLAPSE 0x0001
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TVS_EX_MULTISELECT 0x0002 #define TVS_EX_MULTISELECT 0x0002
#define TVS_EX_DOUBLEBUFFER 0x0004 #define TVS_EX_DOUBLEBUFFER 0x0004
#define TVS_EX_NOINDENTSTATE 0x0008 #define TVS_EX_NOINDENTSTATE 0x0008
#define TVS_EX_RICHTOOLTIP 0x0010 #define TVS_EX_RICHTOOLTIP 0x0010
#define TVS_EX_AUTOHSCROLL 0x0020 #define TVS_EX_AUTOHSCROLL 0x0020
#define TVS_EX_FADEINOUTEXPANDOS 0x0040 #define TVS_EX_FADEINOUTEXPANDOS 0x0040
#define TVS_EX_PARTIALCHECKBOXES 0x0080 #define TVS_EX_PARTIALCHECKBOXES 0x0080
#define TVS_EX_EXCLUSIONCHECKBOXES 0x0100 #define TVS_EX_EXCLUSIONCHECKBOXES 0x0100
#define TVS_EX_DIMMEDCHECKBOXES 0x0200 #define TVS_EX_DIMMEDCHECKBOXES 0x0200
#define TVS_EX_DRAWIMAGEASYNC 0x0400 #define TVS_EX_DRAWIMAGEASYNC 0x0400
skipping to change at line 5146 skipping to change at line 4717
struct _TREEITEM; struct _TREEITEM;
typedef struct _TREEITEM *HTREEITEM; typedef struct _TREEITEM *HTREEITEM;
#define TVIF_TEXT 0x0001 #define TVIF_TEXT 0x0001
#define TVIF_IMAGE 0x0002 #define TVIF_IMAGE 0x0002
#define TVIF_PARAM 0x0004 #define TVIF_PARAM 0x0004
#define TVIF_STATE 0x0008 #define TVIF_STATE 0x0008
#define TVIF_HANDLE 0x0010 #define TVIF_HANDLE 0x0010
#define TVIF_SELECTEDIMAGE 0x0020 #define TVIF_SELECTEDIMAGE 0x0020
#define TVIF_CHILDREN 0x0040 #define TVIF_CHILDREN 0x0040
#if (_WIN32_IE >= 0x0400)
#define TVIF_INTEGRAL 0x0080 #define TVIF_INTEGRAL 0x0080
#endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define TVIF_STATEEX 0x0100 #define TVIF_STATEEX 0x0100
#define TVIF_EXPANDEDIMAGE 0x0200 #define TVIF_EXPANDEDIMAGE 0x0200
#endif #endif
#define TVIS_SELECTED 0x0002 #define TVIS_SELECTED 0x0002
#define TVIS_CUT 0x0004 #define TVIS_CUT 0x0004
#define TVIS_DROPHILITED 0x0008 #define TVIS_DROPHILITED 0x0008
#define TVIS_BOLD 0x0010 #define TVIS_BOLD 0x0010
#define TVIS_EXPANDED 0x0020 #define TVIS_EXPANDED 0x0020
#define TVIS_EXPANDEDONCE 0x0040 #define TVIS_EXPANDEDONCE 0x0040
#if (_WIN32_IE >= 0x0300)
#define TVIS_EXPANDPARTIAL 0x0080 #define TVIS_EXPANDPARTIAL 0x0080
#endif
#define TVIS_OVERLAYMASK 0x0F00 #define TVIS_OVERLAYMASK 0x0F00
#define TVIS_STATEIMAGEMASK 0xF000 #define TVIS_STATEIMAGEMASK 0xF000
#define TVIS_USERMASK 0xF000 #define TVIS_USERMASK 0xF000
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define TVIS_EX_FLAT 0x0001 #define TVIS_EX_FLAT 0x0001
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TVIS_EX_DISABLED 0x0002 #define TVIS_EX_DISABLED 0x0002
#endif #endif
#define TVIS_EX_ALL 0x0002 #define TVIS_EX_ALL 0x0002
// Structure for TreeView's NM_TVSTATEIMAGECHANGING notification // Structure for TreeView's NM_TVSTATEIMAGECHANGING notification
typedef struct tagNMTVSTATEIMAGECHANGING typedef struct tagNMTVSTATEIMAGECHANGING
{ {
NMHDR hdr; NMHDR hdr;
HTREEITEM hti; HTREEITEM hti;
int iOldStateImageIndex; int iOldStateImageIndex;
int iNewStateImageIndex; int iNewStateImageIndex;
} NMTVSTATEIMAGECHANGING, *LPNMTVSTATEIMAGECHANGING; } NMTVSTATEIMAGECHANGING, *LPNMTVSTATEIMAGECHANGING;
#endif #endif
#define I_CHILDRENCALLBACK (-1) #define I_CHILDRENCALLBACK (-1)
#define I_CHILDRENAUTO (-2)
#if (_WIN32_IE >= 0x0300)
#define LPTV_ITEMW LPTVITEMW #define LPTV_ITEMW LPTVITEMW
#define LPTV_ITEMA LPTVITEMA #define LPTV_ITEMA LPTVITEMA
#define TV_ITEMW TVITEMW #define TV_ITEMW TVITEMW
#define TV_ITEMA TVITEMA #define TV_ITEMA TVITEMA
#else
#define tagTVITEMA _TV_ITEMA
#define TVITEMA TV_ITEMA
#define LPTVITEMA LPTV_ITEMA
#define tagTVITEMW _TV_ITEMW
#define TVITEMW TV_ITEMW
#define LPTVITEMW LPTV_ITEMW
#endif
#define LPTV_ITEM LPTVITEM #define LPTV_ITEM LPTVITEM
#define TV_ITEM TVITEM #define TV_ITEM TVITEM
typedef struct tagTVITEMA { typedef struct tagTVITEMA {
UINT mask; UINT mask;
HTREEITEM hItem; HTREEITEM hItem;
UINT state; UINT state;
UINT stateMask; UINT stateMask;
LPSTR pszText; LPSTR pszText;
skipping to change at line 5229 skipping to change at line 4788
UINT state; UINT state;
UINT stateMask; UINT stateMask;
LPWSTR pszText; LPWSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
int iSelectedImage; int iSelectedImage;
int cChildren; int cChildren;
LPARAM lParam; LPARAM lParam;
} TVITEMW, *LPTVITEMW; } TVITEMW, *LPTVITEMW;
#if (_WIN32_IE >= 0x0400)
// only used for Get and Set messages. no notifies // only used for Get and Set messages. no notifies
typedef struct tagTVITEMEXA { typedef struct tagTVITEMEXA {
UINT mask; UINT mask;
HTREEITEM hItem; HTREEITEM hItem;
UINT state; UINT state;
UINT stateMask; UINT stateMask;
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
int iSelectedImage; int iSelectedImage;
skipping to change at line 5282 skipping to change at line 4840
#endif #endif
} TVITEMEXW, *LPTVITEMEXW; } TVITEMEXW, *LPTVITEMEXW;
#ifdef UNICODE #ifdef UNICODE
typedef TVITEMEXW TVITEMEX; typedef TVITEMEXW TVITEMEX;
typedef LPTVITEMEXW LPTVITEMEX; typedef LPTVITEMEXW LPTVITEMEX;
#else #else
typedef TVITEMEXA TVITEMEX; typedef TVITEMEXA TVITEMEX;
typedef LPTVITEMEXA LPTVITEMEX; typedef LPTVITEMEXA LPTVITEMEX;
#endif // UNICODE #endif // UNICODE
#endif
#ifdef UNICODE #ifdef UNICODE
#define TVITEM TVITEMW #define TVITEM TVITEMW
#define LPTVITEM LPTVITEMW #define LPTVITEM LPTVITEMW
#else #else
#define TVITEM TVITEMA #define TVITEM TVITEMA
#define LPTVITEM LPTVITEMA #define LPTVITEM LPTVITEMA
#endif #endif
#define TVI_ROOT ((HTREEITEM)(ULONG_PTR)-0x10000) #define TVI_ROOT ((HTREEITEM)(ULONG_PTR)-0x10000)
#define TVI_FIRST ((HTREEITEM)(ULONG_PTR)-0x0FFFF) #define TVI_FIRST ((HTREEITEM)(ULONG_PTR)-0x0FFFF)
#define TVI_LAST ((HTREEITEM)(ULONG_PTR)-0x0FFFE) #define TVI_LAST ((HTREEITEM)(ULONG_PTR)-0x0FFFE)
#define TVI_SORT ((HTREEITEM)(ULONG_PTR)-0x0FFFD) #define TVI_SORT ((HTREEITEM)(ULONG_PTR)-0x0FFFD)
#if (_WIN32_IE >= 0x0300)
#define LPTV_INSERTSTRUCTA LPTVINSERTSTRUCTA #define LPTV_INSERTSTRUCTA LPTVINSERTSTRUCTA
#define LPTV_INSERTSTRUCTW LPTVINSERTSTRUCTW #define LPTV_INSERTSTRUCTW LPTVINSERTSTRUCTW
#define TV_INSERTSTRUCTA TVINSERTSTRUCTA #define TV_INSERTSTRUCTA TVINSERTSTRUCTA
#define TV_INSERTSTRUCTW TVINSERTSTRUCTW #define TV_INSERTSTRUCTW TVINSERTSTRUCTW
#else
#define tagTVINSERTSTRUCTA _TV_INSERTSTRUCTA
#define TVINSERTSTRUCTA TV_INSERTSTRUCTA
#define LPTVINSERTSTRUCTA LPTV_INSERTSTRUCTA
#define tagTVINSERTSTRUCTW _TV_INSERTSTRUCTW
#define TVINSERTSTRUCTW TV_INSERTSTRUCTW
#define LPTVINSERTSTRUCTW LPTV_INSERTSTRUCTW
#endif
#define TV_INSERTSTRUCT TVINSERTSTRUCT #define TV_INSERTSTRUCT TVINSERTSTRUCT
#define LPTV_INSERTSTRUCT LPTVINSERTSTRUCT #define LPTV_INSERTSTRUCT LPTVINSERTSTRUCT
#define TVINSERTSTRUCTA_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTA, item) #define TVINSERTSTRUCTA_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTA, item)
#define TVINSERTSTRUCTW_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTW, item) #define TVINSERTSTRUCTW_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTW, item)
typedef struct tagTVINSERTSTRUCTA { typedef struct tagTVINSERTSTRUCTA {
HTREEITEM hParent; HTREEITEM hParent;
HTREEITEM hInsertAfter; HTREEITEM hInsertAfter;
#if (_WIN32_IE >= 0x0400)
union union
{ {
TVITEMEXA itemex; TVITEMEXA itemex;
TV_ITEMA item; TV_ITEMA item;
} DUMMYUNIONNAME; } DUMMYUNIONNAME;
#else
TV_ITEMA item;
#endif
} TVINSERTSTRUCTA, *LPTVINSERTSTRUCTA; } TVINSERTSTRUCTA, *LPTVINSERTSTRUCTA;
typedef struct tagTVINSERTSTRUCTW { typedef struct tagTVINSERTSTRUCTW {
HTREEITEM hParent; HTREEITEM hParent;
HTREEITEM hInsertAfter; HTREEITEM hInsertAfter;
#if (_WIN32_IE >= 0x0400)
union union
{ {
TVITEMEXW itemex; TVITEMEXW itemex;
TV_ITEMW item; TV_ITEMW item;
} DUMMYUNIONNAME; } DUMMYUNIONNAME;
#else
TV_ITEMW item;
#endif
} TVINSERTSTRUCTW, *LPTVINSERTSTRUCTW; } TVINSERTSTRUCTW, *LPTVINSERTSTRUCTW;
#ifdef UNICODE #ifdef UNICODE
#define TVINSERTSTRUCT TVINSERTSTRUCTW #define TVINSERTSTRUCT TVINSERTSTRUCTW
#define LPTVINSERTSTRUCT LPTVINSERTSTRUCTW #define LPTVINSERTSTRUCT LPTVINSERTSTRUCTW
#define TVINSERTSTRUCT_V1_SIZE TVINSERTSTRUCTW_V1_SIZE #define TVINSERTSTRUCT_V1_SIZE TVINSERTSTRUCTW_V1_SIZE
#else #else
#define TVINSERTSTRUCT TVINSERTSTRUCTA #define TVINSERTSTRUCT TVINSERTSTRUCTA
#define LPTVINSERTSTRUCT LPTVINSERTSTRUCTA #define LPTVINSERTSTRUCT LPTVINSERTSTRUCTA
#define TVINSERTSTRUCT_V1_SIZE TVINSERTSTRUCTA_V1_SIZE #define TVINSERTSTRUCT_V1_SIZE TVINSERTSTRUCTA_V1_SIZE
skipping to change at line 5380 skipping to change at line 4919
#define TreeView_DeleteAllItems(hwnd) \ #define TreeView_DeleteAllItems(hwnd) \
(BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT) (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT)
#define TVM_EXPAND (TV_FIRST + 2) #define TVM_EXPAND (TV_FIRST + 2)
#define TreeView_Expand(hwnd, hitem, code) \ #define TreeView_Expand(hwnd, hitem, code) \
(BOOL)SNDMSG((hwnd), TVM_EXPAND, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) (BOOL)SNDMSG((hwnd), TVM_EXPAND, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem))
#define TVE_COLLAPSE 0x0001 #define TVE_COLLAPSE 0x0001
#define TVE_EXPAND 0x0002 #define TVE_EXPAND 0x0002
#define TVE_TOGGLE 0x0003 #define TVE_TOGGLE 0x0003
#if (_WIN32_IE >= 0x0300)
#define TVE_EXPANDPARTIAL 0x4000 #define TVE_EXPANDPARTIAL 0x4000
#endif
#define TVE_COLLAPSERESET 0x8000 #define TVE_COLLAPSERESET 0x8000
#define TVM_GETITEMRECT (TV_FIRST + 4) #define TVM_GETITEMRECT (TV_FIRST + 4)
#define TreeView_GetItemRect(hwnd, hitem, prc, code) \ #define TreeView_GetItemRect(hwnd, hitem, prc, code) \
(*(HTREEITEM *)(prc) = (hitem), (BOOL)SNDMSG((hwnd), TVM_GETITEMRECT, (WPARA M)(code), (LPARAM)(RECT *)(prc))) (*(HTREEITEM *)(prc) = (hitem), (BOOL)SNDMSG((hwnd), TVM_GETITEMRECT, (WPARA M)(code), (LPARAM)(RECT *)(prc)))
#define TVM_GETCOUNT (TV_FIRST + 5) #define TVM_GETCOUNT (TV_FIRST + 5)
#define TreeView_GetCount(hwnd) \ #define TreeView_GetCount(hwnd) \
(UINT)SNDMSG((hwnd), TVM_GETCOUNT, 0, 0) (UINT)SNDMSG((hwnd), TVM_GETCOUNT, 0, 0)
skipping to change at line 5426 skipping to change at line 4963
#define TVGN_ROOT 0x0000 #define TVGN_ROOT 0x0000
#define TVGN_NEXT 0x0001 #define TVGN_NEXT 0x0001
#define TVGN_PREVIOUS 0x0002 #define TVGN_PREVIOUS 0x0002
#define TVGN_PARENT 0x0003 #define TVGN_PARENT 0x0003
#define TVGN_CHILD 0x0004 #define TVGN_CHILD 0x0004
#define TVGN_FIRSTVISIBLE 0x0005 #define TVGN_FIRSTVISIBLE 0x0005
#define TVGN_NEXTVISIBLE 0x0006 #define TVGN_NEXTVISIBLE 0x0006
#define TVGN_PREVIOUSVISIBLE 0x0007 #define TVGN_PREVIOUSVISIBLE 0x0007
#define TVGN_DROPHILITE 0x0008 #define TVGN_DROPHILITE 0x0008
#define TVGN_CARET 0x0009 #define TVGN_CARET 0x0009
#if (_WIN32_IE >= 0x0400)
#define TVGN_LASTVISIBLE 0x000A #define TVGN_LASTVISIBLE 0x000A
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define TVGN_NEXTSELECTED 0x000B #define TVGN_NEXTSELECTED 0x000B
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define TVSI_NOSINGLEEXPAND 0x8000 // Should not conflict with TVGN flags. #define TVSI_NOSINGLEEXPAND 0x8000 // Should not conflict with TVGN flags.
#endif #endif
#define TreeView_GetChild(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_CHILD) #define TreeView_GetChild(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_CHILD)
#define TreeView_GetNextSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_NEXT) #define TreeView_GetNextSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_NEXT)
#define TreeView_GetPrevSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUS) #define TreeView_GetPrevSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUS)
#define TreeView_GetParent(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_PARENT) #define TreeView_GetParent(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_PARENT)
#define TreeView_GetFirstVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE) #define TreeView_GetFirstVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE)
#define TreeView_GetNextVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_NEXTVISIBLE) #define TreeView_GetNextVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_NEXTVISIBLE)
#define TreeView_GetPrevVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUSVISIBLE) #define TreeView_GetPrevVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUSVISIBLE)
#define TreeView_GetSelection(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_CARET) #define TreeView_GetSelection(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_CARET)
#define TreeView_GetDropHilight(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE) #define TreeView_GetDropHilight(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE)
#define TreeView_GetRoot(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_ROOT) #define TreeView_GetRoot(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_ROOT)
#if (_WIN32_IE >= 0x0400)
#define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE) #define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE)
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define TreeView_GetNextSelected(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_NEXTSELECTED) #define TreeView_GetNextSelected(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem , TVGN_NEXTSELECTED)
#endif #endif
#define TVM_SELECTITEM (TV_FIRST + 11) #define TVM_SELECTITEM (TV_FIRST + 11)
#define TreeView_Select(hwnd, hitem, code) \ #define TreeView_Select(hwnd, hitem, code) \
(BOOL)SNDMSG((hwnd), TVM_SELECTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hit em)) (BOOL)SNDMSG((hwnd), TVM_SELECTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hit em))
#define TreeView_SelectItem(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_CARET) #define TreeView_SelectItem(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_CARET)
#define TreeView_SelectDropTarget(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_DROPHILITE) #define TreeView_SelectDropTarget(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_DROPHILITE)
skipping to change at line 5509 skipping to change at line 5042
(HWND)SNDMSG((hwnd), TVM_GETEDITCONTROL, 0, 0) (HWND)SNDMSG((hwnd), TVM_GETEDITCONTROL, 0, 0)
#define TVM_GETVISIBLECOUNT (TV_FIRST + 16) #define TVM_GETVISIBLECOUNT (TV_FIRST + 16)
#define TreeView_GetVisibleCount(hwnd) \ #define TreeView_GetVisibleCount(hwnd) \
(UINT)SNDMSG((hwnd), TVM_GETVISIBLECOUNT, 0, 0) (UINT)SNDMSG((hwnd), TVM_GETVISIBLECOUNT, 0, 0)
#define TVM_HITTEST (TV_FIRST + 17) #define TVM_HITTEST (TV_FIRST + 17)
#define TreeView_HitTest(hwnd, lpht) \ #define TreeView_HitTest(hwnd, lpht) \
(HTREEITEM)SNDMSG((hwnd), TVM_HITTEST, 0, (LPARAM)(LPTV_HITTESTINFO)(lpht)) (HTREEITEM)SNDMSG((hwnd), TVM_HITTEST, 0, (LPARAM)(LPTV_HITTESTINFO)(lpht))
#if (_WIN32_IE >= 0x0300)
#define LPTV_HITTESTINFO LPTVHITTESTINFO #define LPTV_HITTESTINFO LPTVHITTESTINFO
#define TV_HITTESTINFO TVHITTESTINFO #define TV_HITTESTINFO TVHITTESTINFO
#else
#define tagTVHITTESTINFO _TV_HITTESTINFO
#define TVHITTESTINFO TV_HITTESTINFO
#define LPTVHITTESTINFO LPTV_HITTESTINFO
#endif
typedef struct tagTVHITTESTINFO { typedef struct tagTVHITTESTINFO {
POINT pt; POINT pt;
UINT flags; UINT flags;
HTREEITEM hItem; HTREEITEM hItem;
} TVHITTESTINFO, *LPTVHITTESTINFO; } TVHITTESTINFO, *LPTVHITTESTINFO;
#define TVHT_NOWHERE 0x0001 #define TVHT_NOWHERE 0x0001
#define TVHT_ONITEMICON 0x0002 #define TVHT_ONITEMICON 0x0002
#define TVHT_ONITEMLABEL 0x0004 #define TVHT_ONITEMLABEL 0x0004
skipping to change at line 5568 skipping to change at line 5095
#define TVM_GETISEARCHSTRINGA (TV_FIRST + 23) #define TVM_GETISEARCHSTRINGA (TV_FIRST + 23)
#define TVM_GETISEARCHSTRINGW (TV_FIRST + 64) #define TVM_GETISEARCHSTRINGW (TV_FIRST + 64)
#ifdef UNICODE #ifdef UNICODE
#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW #define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW
#else #else
#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA #define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define TVM_SETTOOLTIPS (TV_FIRST + 24) #define TVM_SETTOOLTIPS (TV_FIRST + 24)
#define TreeView_SetToolTips(hwnd, hwndTT) \ #define TreeView_SetToolTips(hwnd, hwndTT) \
(HWND)SNDMSG((hwnd), TVM_SETTOOLTIPS, (WPARAM)(hwndTT), 0) (HWND)SNDMSG((hwnd), TVM_SETTOOLTIPS, (WPARAM)(hwndTT), 0)
#define TVM_GETTOOLTIPS (TV_FIRST + 25) #define TVM_GETTOOLTIPS (TV_FIRST + 25)
#define TreeView_GetToolTips(hwnd) \ #define TreeView_GetToolTips(hwnd) \
(HWND)SNDMSG((hwnd), TVM_GETTOOLTIPS, 0, 0) (HWND)SNDMSG((hwnd), TVM_GETTOOLTIPS, 0, 0)
#endif
#define TreeView_GetISearchString(hwndTV, lpsz) \ #define TreeView_GetISearchString(hwndTV, lpsz) \
(BOOL)SNDMSG((hwndTV), TVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) (BOOL)SNDMSG((hwndTV), TVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz))
#if (_WIN32_IE >= 0x0400)
#define TVM_SETINSERTMARK (TV_FIRST + 26) #define TVM_SETINSERTMARK (TV_FIRST + 26)
#define TreeView_SetInsertMark(hwnd, hItem, fAfter) \ #define TreeView_SetInsertMark(hwnd, hItem, fAfter) \
(BOOL)SNDMSG((hwnd), TVM_SETINSERTMARK, (WPARAM) (fAfter), (LPARAM) (hIt em)) (BOOL)SNDMSG((hwnd), TVM_SETINSERTMARK, (WPARAM) (fAfter), (LPARAM) (hIt em))
#define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define TreeView_SetUnicodeFormat(hwnd, fUnicode) \ #define TreeView_SetUnicodeFormat(hwnd, fUnicode) \
(BOOL)SNDMSG((hwnd), TVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) (BOOL)SNDMSG((hwnd), TVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
#define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define TreeView_GetUnicodeFormat(hwnd) \ #define TreeView_GetUnicodeFormat(hwnd) \
(BOOL)SNDMSG((hwnd), TVM_GETUNICODEFORMAT, 0, 0) (BOOL)SNDMSG((hwnd), TVM_GETUNICODEFORMAT, 0, 0)
#endif
#if (_WIN32_IE >= 0x0400)
#define TVM_SETITEMHEIGHT (TV_FIRST + 27) #define TVM_SETITEMHEIGHT (TV_FIRST + 27)
#define TreeView_SetItemHeight(hwnd, iHeight) \ #define TreeView_SetItemHeight(hwnd, iHeight) \
(int)SNDMSG((hwnd), TVM_SETITEMHEIGHT, (WPARAM)(iHeight), 0) (int)SNDMSG((hwnd), TVM_SETITEMHEIGHT, (WPARAM)(iHeight), 0)
#define TVM_GETITEMHEIGHT (TV_FIRST + 28) #define TVM_GETITEMHEIGHT (TV_FIRST + 28)
#define TreeView_GetItemHeight(hwnd) \ #define TreeView_GetItemHeight(hwnd) \
(int)SNDMSG((hwnd), TVM_GETITEMHEIGHT, 0, 0) (int)SNDMSG((hwnd), TVM_GETITEMHEIGHT, 0, 0)
#define TVM_SETBKCOLOR (TV_FIRST + 29) #define TVM_SETBKCOLOR (TV_FIRST + 29)
#define TreeView_SetBkColor(hwnd, clr) \ #define TreeView_SetBkColor(hwnd, clr) \
(COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)(clr)) (COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)(clr))
skipping to change at line 5634 skipping to change at line 5155
#define TreeView_GetScrollTime(hwnd) \ #define TreeView_GetScrollTime(hwnd) \
(UINT)SNDMSG((hwnd), TVM_GETSCROLLTIME, 0, 0) (UINT)SNDMSG((hwnd), TVM_GETSCROLLTIME, 0, 0)
#define TVM_SETINSERTMARKCOLOR (TV_FIRST + 37) #define TVM_SETINSERTMARKCOLOR (TV_FIRST + 37)
#define TreeView_SetInsertMarkColor(hwnd, clr) \ #define TreeView_SetInsertMarkColor(hwnd, clr) \
(COLORREF)SNDMSG((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)(clr)) (COLORREF)SNDMSG((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)(clr))
#define TVM_GETINSERTMARKCOLOR (TV_FIRST + 38) #define TVM_GETINSERTMARKCOLOR (TV_FIRST + 38)
#define TreeView_GetInsertMarkColor(hwnd) \ #define TreeView_GetInsertMarkColor(hwnd) \
(COLORREF)SNDMSG((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0) (COLORREF)SNDMSG((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0)
#endif /* (_WIN32_IE >= 0x0400) */ #define TVM_SETBORDER (TV_FIRST + 35)
#define TreeView_SetBorder(hwnd, dwFlags, xBorder, yBorder) \
(int)SNDMSG((hwnd), TVM_SETBORDER, (WPARAM)(dwFlags), MAKELPARAM(xBorder, yB
order))
#define TVSBF_XBORDER 0x00000001
#define TVSBF_YBORDER 0x00000002
#if (_WIN32_IE >= 0x0500)
// tvm_?etitemstate only uses mask, state and stateMask. // tvm_?etitemstate only uses mask, state and stateMask.
// so unicode or ansi is irrelevant. // so unicode or ansi is irrelevant.
#define TreeView_SetItemState(hwndTV, hti, data, _mask) \ #define TreeView_SetItemState(hwndTV, hti, data, _mask) \
{ TVITEM _ms_TVi;\ { TVITEM _ms_TVi;\
_ms_TVi.mask = TVIF_STATE; \ _ms_TVi.mask = TVIF_STATE; \
_ms_TVi.hItem = (hti); \ _ms_TVi.hItem = (hti); \
_ms_TVi.stateMask = (_mask);\ _ms_TVi.stateMask = (_mask);\
_ms_TVi.state = (data);\ _ms_TVi.state = (data);\
SNDMSG((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_ms_TVi);\ SNDMSG((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_ms_TVi);\
} }
skipping to change at line 5666 skipping to change at line 5191
((((UINT)(SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), TVIS_STATEIMAGEMA SK))) >> 12) -1) ((((UINT)(SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), TVIS_STATEIMAGEMA SK))) >> 12) -1)
#define TVM_SETLINECOLOR (TV_FIRST + 40) #define TVM_SETLINECOLOR (TV_FIRST + 40)
#define TreeView_SetLineColor(hwnd, clr) \ #define TreeView_SetLineColor(hwnd, clr) \
(COLORREF)SNDMSG((hwnd), TVM_SETLINECOLOR, 0, (LPARAM)(clr)) (COLORREF)SNDMSG((hwnd), TVM_SETLINECOLOR, 0, (LPARAM)(clr))
#define TVM_GETLINECOLOR (TV_FIRST + 41) #define TVM_GETLINECOLOR (TV_FIRST + 41)
#define TreeView_GetLineColor(hwnd) \ #define TreeView_GetLineColor(hwnd) \
(COLORREF)SNDMSG((hwnd), TVM_GETLINECOLOR, 0, 0) (COLORREF)SNDMSG((hwnd), TVM_GETLINECOLOR, 0, 0)
#endif #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
#define TVM_MAPACCIDTOHTREEITEM (TV_FIRST + 42) #define TVM_MAPACCIDTOHTREEITEM (TV_FIRST + 42)
#define TreeView_MapAccIDToHTREEITEM(hwnd, id) \ #define TreeView_MapAccIDToHTREEITEM(hwnd, id) \
(HTREEITEM)SNDMSG((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0) (HTREEITEM)SNDMSG((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0)
#define TVM_MAPHTREEITEMTOACCID (TV_FIRST + 43) #define TVM_MAPHTREEITEMTOACCID (TV_FIRST + 43)
#define TreeView_MapHTREEITEMToAccID(hwnd, htreeitem) \ #define TreeView_MapHTREEITEMToAccID(hwnd, htreeitem) \
(UINT)SNDMSG((hwnd), TVM_MAPHTREEITEMTOACCID, (WPARAM)(htreeitem), 0) (UINT)SNDMSG((hwnd), TVM_MAPHTREEITEMTOACCID, (WPARAM)(htreeitem), 0)
#define TVM_SETEXTENDEDSTYLE (TV_FIRST + 44) #define TVM_SETEXTENDEDSTYLE (TV_FIRST + 44)
#define TreeView_SetExtendedStyle(hwnd, dw, mask) \ #define TreeView_SetExtendedStyle(hwnd, dw, mask) \
skipping to change at line 5690 skipping to change at line 5213
#define TVM_GETEXTENDEDSTYLE (TV_FIRST + 45) #define TVM_GETEXTENDEDSTYLE (TV_FIRST + 45)
#define TreeView_GetExtendedStyle(hwnd) \ #define TreeView_GetExtendedStyle(hwnd) \
(DWORD)SNDMSG((hwnd), TVM_GETEXTENDEDSTYLE, 0, 0) (DWORD)SNDMSG((hwnd), TVM_GETEXTENDEDSTYLE, 0, 0)
#define TVM_SETAUTOSCROLLINFO (TV_FIRST + 59) #define TVM_SETAUTOSCROLLINFO (TV_FIRST + 59)
#define TreeView_SetAutoScrollInfo(hwnd, uPixPerSec, uUpdateTime) \ #define TreeView_SetAutoScrollInfo(hwnd, uPixPerSec, uUpdateTime) \
SNDMSG((hwnd), TVM_SETAUTOSCROLLINFO, (WPARAM)(uPixPerSec), (LPARAM)(uUpdate Time)) SNDMSG((hwnd), TVM_SETAUTOSCROLLINFO, (WPARAM)(uPixPerSec), (LPARAM)(uUpdate Time))
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #define TVM_SETHOT (TV_FIRST + 58)
#define TreeView_SetHot(hwnd, hitem) \
SNDMSG((hwnd), TVM_SETHOT, 0, (LPARAM)(hitem))
#if (NTDDI_VERSION >= NTDDI_VISTA)
#define TVM_GETSELECTEDCOUNT (TV_FIRST + 70) #define TVM_GETSELECTEDCOUNT (TV_FIRST + 70)
#define TreeView_GetSelectedCount(hwnd) \ #define TreeView_GetSelectedCount(hwnd) \
(DWORD)SNDMSG((hwnd), TVM_GETSELECTEDCOUNT, 0, 0) (DWORD)SNDMSG((hwnd), TVM_GETSELECTEDCOUNT, 0, 0)
#define TVM_SHOWINFOTIP (TV_FIRST + 71) #define TVM_SHOWINFOTIP (TV_FIRST + 71)
#define TreeView_ShowInfoTip(hwnd, hitem) \ #define TreeView_ShowInfoTip(hwnd, hitem) \
(DWORD)SNDMSG((hwnd), TVM_SHOWINFOTIP, 0, (LPARAM)(hitem)) (DWORD)SNDMSG((hwnd), TVM_SHOWINFOTIP, 0, (LPARAM)(hitem))
typedef enum _TVITEMPART typedef enum _TVITEMPART
{ {
skipping to change at line 5723 skipping to change at line 5250
info.hti = (hitem); \ info.hti = (hitem); \
info.prc = (prc); \ info.prc = (prc); \
info.partID = (partid); \ info.partID = (partid); \
(BOOL)SNDMSG((hwnd), TVM_GETITEMPARTRECT, 0, (LPARAM)&info); \ (BOOL)SNDMSG((hwnd), TVM_GETITEMPARTRECT, 0, (LPARAM)&info); \
} }
#endif #endif
typedef int (CALLBACK *PFNTVCOMPARE)(LPARAM lParam1, LPARAM lParam2, LPARAM lPar amSort); typedef int (CALLBACK *PFNTVCOMPARE)(LPARAM lParam1, LPARAM lParam2, LPARAM lPar amSort);
#if (_WIN32_IE >= 0x0300)
#define LPTV_SORTCB LPTVSORTCB #define LPTV_SORTCB LPTVSORTCB
#define TV_SORTCB TVSORTCB #define TV_SORTCB TVSORTCB
#else
#define tagTVSORTCB _TV_SORTCB
#define TVSORTCB TV_SORTCB
#define LPTVSORTCB LPTV_SORTCB
#endif
typedef struct tagTVSORTCB typedef struct tagTVSORTCB
{ {
HTREEITEM hParent; HTREEITEM hParent;
PFNTVCOMPARE lpfnCompare; PFNTVCOMPARE lpfnCompare;
LPARAM lParam; LPARAM lParam;
} TVSORTCB, *LPTVSORTCB; } TVSORTCB, *LPTVSORTCB;
#if (_WIN32_IE >= 0x0300)
#define LPNM_TREEVIEWA LPNMTREEVIEWA #define LPNM_TREEVIEWA LPNMTREEVIEWA
#define LPNM_TREEVIEWW LPNMTREEVIEWW #define LPNM_TREEVIEWW LPNMTREEVIEWW
#define NM_TREEVIEWW NMTREEVIEWW #define NM_TREEVIEWW NMTREEVIEWW
#define NM_TREEVIEWA NMTREEVIEWA #define NM_TREEVIEWA NMTREEVIEWA
#else
#define tagNMTREEVIEWA _NM_TREEVIEWA
#define tagNMTREEVIEWW _NM_TREEVIEWW
#define NMTREEVIEWA NM_TREEVIEWA
#define NMTREEVIEWW NM_TREEVIEWW
#define LPNMTREEVIEWA LPNM_TREEVIEWA
#define LPNMTREEVIEWW LPNM_TREEVIEWW
#endif
#define LPNM_TREEVIEW LPNMTREEVIEW #define LPNM_TREEVIEW LPNMTREEVIEW
#define NM_TREEVIEW NMTREEVIEW #define NM_TREEVIEW NMTREEVIEW
typedef struct tagNMTREEVIEWA { typedef struct tagNMTREEVIEWA {
NMHDR hdr; NMHDR hdr;
UINT action; UINT action;
TVITEMA itemOld; TVITEMA itemOld;
TVITEMA itemNew; TVITEMA itemNew;
POINT ptDrag; POINT ptDrag;
skipping to change at line 5796 skipping to change at line 5308
#define TVC_BYMOUSE 0x0001 #define TVC_BYMOUSE 0x0001
#define TVC_BYKEYBOARD 0x0002 #define TVC_BYKEYBOARD 0x0002
#define TVN_GETDISPINFOA (TVN_FIRST-3) #define TVN_GETDISPINFOA (TVN_FIRST-3)
#define TVN_GETDISPINFOW (TVN_FIRST-52) #define TVN_GETDISPINFOW (TVN_FIRST-52)
#define TVN_SETDISPINFOA (TVN_FIRST-4) #define TVN_SETDISPINFOA (TVN_FIRST-4)
#define TVN_SETDISPINFOW (TVN_FIRST-53) #define TVN_SETDISPINFOW (TVN_FIRST-53)
#define TVIF_DI_SETITEM 0x1000 #define TVIF_DI_SETITEM 0x1000
#if (_WIN32_IE >= 0x0300)
#define TV_DISPINFOA NMTVDISPINFOA #define TV_DISPINFOA NMTVDISPINFOA
#define TV_DISPINFOW NMTVDISPINFOW #define TV_DISPINFOW NMTVDISPINFOW
#else
#define tagTVDISPINFOA _TV_DISPINFOA
#define NMTVDISPINFOA TV_DISPINFOA
#define tagTVDISPINFOW _TV_DISPINFOW
#define NMTVDISPINFOW TV_DISPINFOW
#endif
#define TV_DISPINFO NMTVDISPINFO #define TV_DISPINFO NMTVDISPINFO
typedef struct tagTVDISPINFOA { typedef struct tagTVDISPINFOA {
NMHDR hdr; NMHDR hdr;
TVITEMA item; TVITEMA item;
} NMTVDISPINFOA, *LPNMTVDISPINFOA; } NMTVDISPINFOA, *LPNMTVDISPINFOA;
typedef struct tagTVDISPINFOW { typedef struct tagTVDISPINFOW {
NMHDR hdr; NMHDR hdr;
skipping to change at line 5867 skipping to change at line 5372
#define TVN_BEGINRDRAGA (TVN_FIRST-8) #define TVN_BEGINRDRAGA (TVN_FIRST-8)
#define TVN_BEGINRDRAGW (TVN_FIRST-57) #define TVN_BEGINRDRAGW (TVN_FIRST-57)
#define TVN_DELETEITEMA (TVN_FIRST-9) #define TVN_DELETEITEMA (TVN_FIRST-9)
#define TVN_DELETEITEMW (TVN_FIRST-58) #define TVN_DELETEITEMW (TVN_FIRST-58)
#define TVN_BEGINLABELEDITA (TVN_FIRST-10) #define TVN_BEGINLABELEDITA (TVN_FIRST-10)
#define TVN_BEGINLABELEDITW (TVN_FIRST-59) #define TVN_BEGINLABELEDITW (TVN_FIRST-59)
#define TVN_ENDLABELEDITA (TVN_FIRST-11) #define TVN_ENDLABELEDITA (TVN_FIRST-11)
#define TVN_ENDLABELEDITW (TVN_FIRST-60) #define TVN_ENDLABELEDITW (TVN_FIRST-60)
#define TVN_KEYDOWN (TVN_FIRST-12) #define TVN_KEYDOWN (TVN_FIRST-12)
#if (_WIN32_IE >= 0x0400)
#define TVN_GETINFOTIPA (TVN_FIRST-13) #define TVN_GETINFOTIPA (TVN_FIRST-13)
#define TVN_GETINFOTIPW (TVN_FIRST-14) #define TVN_GETINFOTIPW (TVN_FIRST-14)
#define TVN_SINGLEEXPAND (TVN_FIRST-15) #define TVN_SINGLEEXPAND (TVN_FIRST-15)
#define TVNRET_DEFAULT 0 #define TVNRET_DEFAULT 0
#define TVNRET_SKIPOLD 1 #define TVNRET_SKIPOLD 1
#define TVNRET_SKIPNEW 2 #define TVNRET_SKIPNEW 2
#endif // 0x400
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define TVN_ITEMCHANGINGA (TVN_FIRST-16) #define TVN_ITEMCHANGINGA (TVN_FIRST-16)
#define TVN_ITEMCHANGINGW (TVN_FIRST-17) #define TVN_ITEMCHANGINGW (TVN_FIRST-17)
#define TVN_ITEMCHANGEDA (TVN_FIRST-18) #define TVN_ITEMCHANGEDA (TVN_FIRST-18)
#define TVN_ITEMCHANGEDW (TVN_FIRST-19) #define TVN_ITEMCHANGEDW (TVN_FIRST-19)
#define TVN_ASYNCDRAW (TVN_FIRST-20) #define TVN_ASYNCDRAW (TVN_FIRST-20)
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define TV_KEYDOWN NMTVKEYDOWN #define TV_KEYDOWN NMTVKEYDOWN
#else
#define tagTVKEYDOWN _TV_KEYDOWN
#define NMTVKEYDOWN TV_KEYDOWN
#endif
#ifdef _WIN32 #ifdef _WIN32
#include <pshpack1.h> #include <pshpack1.h>
#endif #endif
typedef struct tagTVKEYDOWN { typedef struct tagTVKEYDOWN {
NMHDR hdr; NMHDR hdr;
WORD wVKey; WORD wVKey;
UINT flags; UINT flags;
} NMTVKEYDOWN, *LPNMTVKEYDOWN; } NMTVKEYDOWN, *LPNMTVKEYDOWN;
skipping to change at line 5932 skipping to change at line 5430
#define TVN_SETDISPINFO TVN_SETDISPINFOA #define TVN_SETDISPINFO TVN_SETDISPINFOA
#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA #define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA
#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA #define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA
#define TVN_BEGINDRAG TVN_BEGINDRAGA #define TVN_BEGINDRAG TVN_BEGINDRAGA
#define TVN_BEGINRDRAG TVN_BEGINRDRAGA #define TVN_BEGINRDRAG TVN_BEGINRDRAGA
#define TVN_DELETEITEM TVN_DELETEITEMA #define TVN_DELETEITEM TVN_DELETEITEMA
#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA #define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA
#define TVN_ENDLABELEDIT TVN_ENDLABELEDITA #define TVN_ENDLABELEDIT TVN_ENDLABELEDITA
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW, clrTextBk) #define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW, clrTextBk)
typedef struct tagNMTVCUSTOMDRAW typedef struct tagNMTVCUSTOMDRAW
{ {
NMCUSTOMDRAW nmcd; NMCUSTOMDRAW nmcd;
COLORREF clrText; COLORREF clrText;
COLORREF clrTextBk; COLORREF clrTextBk;
#if (_WIN32_IE >= 0x0400)
int iLevel; int iLevel;
#endif
} NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW; } NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW;
#endif
#if (_WIN32_IE >= 0x0400)
// for tooltips // for tooltips
typedef struct tagNMTVGETINFOTIPA typedef struct tagNMTVGETINFOTIPA
{ {
NMHDR hdr; NMHDR hdr;
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
HTREEITEM hItem; HTREEITEM hItem;
LPARAM lParam; LPARAM lParam;
skipping to change at line 5981 skipping to change at line 5473
#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW #define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW
#else #else
#define TVN_GETINFOTIP TVN_GETINFOTIPA #define TVN_GETINFOTIP TVN_GETINFOTIPA
#define NMTVGETINFOTIP NMTVGETINFOTIPA #define NMTVGETINFOTIP NMTVGETINFOTIPA
#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA #define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA
#endif #endif
// treeview's customdraw return meaning don't draw images. valid on CDRF_NOTIFY ITEMPREPAINT // treeview's customdraw return meaning don't draw images. valid on CDRF_NOTIFY ITEMPREPAINT
#define TVCDRF_NOIMAGES 0x00010000 #define TVCDRF_NOIMAGES 0x00010000
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE > 0x0600) #if (_WIN32_IE > 0x0600)
typedef struct tagTVITEMCHANGE { typedef struct tagTVITEMCHANGE {
NMHDR hdr; NMHDR hdr;
UINT uChanged; UINT uChanged;
HTREEITEM hItem; HTREEITEM hItem;
UINT uStateNew; UINT uStateNew;
UINT uStateOld; UINT uStateOld;
LPARAM lParam; LPARAM lParam;
} NMTVITEMCHANGE; } NMTVITEMCHANGE;
skipping to change at line 6017 skipping to change at line 5507
#define TVN_ITEMCHANGED TVN_ITEMCHANGEDW #define TVN_ITEMCHANGED TVN_ITEMCHANGEDW
#else #else
#define TVN_ITEMCHANGING TVN_ITEMCHANGINGA #define TVN_ITEMCHANGING TVN_ITEMCHANGINGA
#define TVN_ITEMCHANGED TVN_ITEMCHANGEDA #define TVN_ITEMCHANGED TVN_ITEMCHANGEDA
#endif #endif
#endif // _WIN32_IE >= 0x0600 #endif // _WIN32_IE >= 0x0600
#endif // NOTREEVIEW #endif // NOTREEVIEW
#if (_WIN32_IE >= 0x0300)
#ifndef NOUSEREXCONTROLS #ifndef NOUSEREXCONTROLS
//////////////////// ComboBoxEx //////////////////////////////// //////////////////// ComboBoxEx ////////////////////////////////
#define WC_COMBOBOXEXW L"ComboBoxEx32" #define WC_COMBOBOXEXW L"ComboBoxEx32"
#define WC_COMBOBOXEXA "ComboBoxEx32" #define WC_COMBOBOXEXA "ComboBoxEx32"
#ifdef UNICODE #ifdef UNICODE
#define WC_COMBOBOXEX WC_COMBOBOXEXW #define WC_COMBOBOXEX WC_COMBOBOXEXW
#else #else
skipping to change at line 6087 skipping to change at line 5575
#endif #endif
#define CBEM_INSERTITEMA (WM_USER + 1) #define CBEM_INSERTITEMA (WM_USER + 1)
#define CBEM_SETIMAGELIST (WM_USER + 2) #define CBEM_SETIMAGELIST (WM_USER + 2)
#define CBEM_GETIMAGELIST (WM_USER + 3) #define CBEM_GETIMAGELIST (WM_USER + 3)
#define CBEM_GETITEMA (WM_USER + 4) #define CBEM_GETITEMA (WM_USER + 4)
#define CBEM_SETITEMA (WM_USER + 5) #define CBEM_SETITEMA (WM_USER + 5)
#define CBEM_DELETEITEM CB_DELETESTRING #define CBEM_DELETEITEM CB_DELETESTRING
#define CBEM_GETCOMBOCONTROL (WM_USER + 6) #define CBEM_GETCOMBOCONTROL (WM_USER + 6)
#define CBEM_GETEDITCONTROL (WM_USER + 7) #define CBEM_GETEDITCONTROL (WM_USER + 7)
#if (_WIN32_IE >= 0x0400)
#define CBEM_SETEXSTYLE (WM_USER + 8) // use SETEXTENDEDSTYLE instead #define CBEM_SETEXSTYLE (WM_USER + 8) // use SETEXTENDEDSTYLE instead
#define CBEM_SETEXTENDEDSTYLE (WM_USER + 14) // lparam == new style, wParam (optional) == mask #define CBEM_SETEXTENDEDSTYLE (WM_USER + 14) // lparam == new style, wParam (optional) == mask
#define CBEM_GETEXSTYLE (WM_USER + 9) // use GETEXTENDEDSTYLE instead #define CBEM_GETEXSTYLE (WM_USER + 9) // use GETEXTENDEDSTYLE instead
#define CBEM_GETEXTENDEDSTYLE (WM_USER + 9) #define CBEM_GETEXTENDEDSTYLE (WM_USER + 9)
#define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#else
#define CBEM_SETEXSTYLE (WM_USER + 8)
#define CBEM_GETEXSTYLE (WM_USER + 9)
#endif
#define CBEM_HASEDITCHANGED (WM_USER + 10) #define CBEM_HASEDITCHANGED (WM_USER + 10)
#define CBEM_INSERTITEMW (WM_USER + 11) #define CBEM_INSERTITEMW (WM_USER + 11)
#define CBEM_SETITEMW (WM_USER + 12) #define CBEM_SETITEMW (WM_USER + 12)
#define CBEM_GETITEMW (WM_USER + 13) #define CBEM_GETITEMW (WM_USER + 13)
#ifdef UNICODE #ifdef UNICODE
#define CBEM_INSERTITEM CBEM_INSERTITEMW #define CBEM_INSERTITEM CBEM_INSERTITEMW
#define CBEM_SETITEM CBEM_SETITEMW #define CBEM_SETITEM CBEM_SETITEMW
#define CBEM_GETITEM CBEM_GETITEMW #define CBEM_GETITEM CBEM_GETITEMW
#else #else
#define CBEM_INSERTITEM CBEM_INSERTITEMA #define CBEM_INSERTITEM CBEM_INSERTITEMA
#define CBEM_SETITEM CBEM_SETITEMA #define CBEM_SETITEM CBEM_SETITEMA
#define CBEM_GETITEM CBEM_GETITEMA #define CBEM_GETITEM CBEM_GETITEMA
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define CBEM_SETWINDOWTHEME CCM_SETWINDOWTHEME #define CBEM_SETWINDOWTHEME CCM_SETWINDOWTHEME
#endif #endif
#define CBES_EX_NOEDITIMAGE 0x00000001 #define CBES_EX_NOEDITIMAGE 0x00000001
#define CBES_EX_NOEDITIMAGEINDENT 0x00000002 #define CBES_EX_NOEDITIMAGEINDENT 0x00000002
#define CBES_EX_PATHWORDBREAKPROC 0x00000004 #define CBES_EX_PATHWORDBREAKPROC 0x00000004
#if (_WIN32_IE >= 0x0400)
#define CBES_EX_NOSIZELIMIT 0x00000008 #define CBES_EX_NOSIZELIMIT 0x00000008
#define CBES_EX_CASESENSITIVE 0x00000010 #define CBES_EX_CASESENSITIVE 0x00000010
#if (_WIN32_WINNT >= 0x0600) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define CBES_EX_TEXTENDELLIPSIS 0x00000020 #define CBES_EX_TEXTENDELLIPSIS 0x00000020
#endif #endif
typedef struct { typedef struct {
NMHDR hdr; NMHDR hdr;
COMBOBOXEXITEMA ceItem; COMBOBOXEXITEMA ceItem;
} NMCOMBOBOXEXA, *PNMCOMBOBOXEXA; } NMCOMBOBOXEXA, *PNMCOMBOBOXEXA;
typedef struct { typedef struct {
NMHDR hdr; NMHDR hdr;
skipping to change at line 6147 skipping to change at line 5629
#ifdef UNICODE #ifdef UNICODE
#define NMCOMBOBOXEX NMCOMBOBOXEXW #define NMCOMBOBOXEX NMCOMBOBOXEXW
#define PNMCOMBOBOXEX PNMCOMBOBOXEXW #define PNMCOMBOBOXEX PNMCOMBOBOXEXW
#define CBEN_GETDISPINFO CBEN_GETDISPINFOW #define CBEN_GETDISPINFO CBEN_GETDISPINFOW
#else #else
#define NMCOMBOBOXEX NMCOMBOBOXEXA #define NMCOMBOBOXEX NMCOMBOBOXEXA
#define PNMCOMBOBOXEX PNMCOMBOBOXEXA #define PNMCOMBOBOXEX PNMCOMBOBOXEXA
#define CBEN_GETDISPINFO CBEN_GETDISPINFOA #define CBEN_GETDISPINFO CBEN_GETDISPINFOA
#endif #endif
#else
typedef struct {
NMHDR hdr;
COMBOBOXEXITEM ceItem;
} NMCOMBOBOXEX, *PNMCOMBOBOXEX;
#define CBEN_GETDISPINFO (CBEN_FIRST - 0)
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0400)
#define CBEN_GETDISPINFOA (CBEN_FIRST - 0) #define CBEN_GETDISPINFOA (CBEN_FIRST - 0)
#endif
#define CBEN_INSERTITEM (CBEN_FIRST - 1) #define CBEN_INSERTITEM (CBEN_FIRST - 1)
#define CBEN_DELETEITEM (CBEN_FIRST - 2) #define CBEN_DELETEITEM (CBEN_FIRST - 2)
#define CBEN_BEGINEDIT (CBEN_FIRST - 4) #define CBEN_BEGINEDIT (CBEN_FIRST - 4)
#define CBEN_ENDEDITA (CBEN_FIRST - 5) #define CBEN_ENDEDITA (CBEN_FIRST - 5)
#define CBEN_ENDEDITW (CBEN_FIRST - 6) #define CBEN_ENDEDITW (CBEN_FIRST - 6)
#if (_WIN32_IE >= 0x0400)
#define CBEN_GETDISPINFOW (CBEN_FIRST - 7) #define CBEN_GETDISPINFOW (CBEN_FIRST - 7)
#endif
#if (_WIN32_IE >= 0x0400)
#define CBEN_DRAGBEGINA (CBEN_FIRST - 8) #define CBEN_DRAGBEGINA (CBEN_FIRST - 8)
#define CBEN_DRAGBEGINW (CBEN_FIRST - 9) #define CBEN_DRAGBEGINW (CBEN_FIRST - 9)
#ifdef UNICODE #ifdef UNICODE
#define CBEN_DRAGBEGIN CBEN_DRAGBEGINW #define CBEN_DRAGBEGIN CBEN_DRAGBEGINW
#else #else
#define CBEN_DRAGBEGIN CBEN_DRAGBEGINA #define CBEN_DRAGBEGIN CBEN_DRAGBEGINA
#endif #endif
#endif //(_WIN32_IE >= 0x0400)
// lParam specifies why the endedit is happening // lParam specifies why the endedit is happening
#ifdef UNICODE #ifdef UNICODE
#define CBEN_ENDEDIT CBEN_ENDEDITW #define CBEN_ENDEDIT CBEN_ENDEDITW
#else #else
#define CBEN_ENDEDIT CBEN_ENDEDITA #define CBEN_ENDEDIT CBEN_ENDEDITA
#endif #endif
#define CBENF_KILLFOCUS 1 #define CBENF_KILLFOCUS 1
#define CBENF_RETURN 2 #define CBENF_RETURN 2
#define CBENF_ESCAPE 3 #define CBENF_ESCAPE 3
#define CBENF_DROPDOWN 4 #define CBENF_DROPDOWN 4
#define CBEMAXSTRLEN 260 #define CBEMAXSTRLEN 260
#if (_WIN32_IE >= 0x0400)
// CBEN_DRAGBEGIN sends this information ... // CBEN_DRAGBEGIN sends this information ...
typedef struct { typedef struct {
NMHDR hdr; NMHDR hdr;
int iItemid; int iItemid;
WCHAR szText[CBEMAXSTRLEN]; WCHAR szText[CBEMAXSTRLEN];
}NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW; }NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
typedef struct { typedef struct {
NMHDR hdr; NMHDR hdr;
skipping to change at line 6220 skipping to change at line 5684
#ifdef UNICODE #ifdef UNICODE
#define NMCBEDRAGBEGIN NMCBEDRAGBEGINW #define NMCBEDRAGBEGIN NMCBEDRAGBEGINW
#define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINW #define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINW
#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINW #define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINW
#else #else
#define NMCBEDRAGBEGIN NMCBEDRAGBEGINA #define NMCBEDRAGBEGIN NMCBEDRAGBEGINA
#define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINA #define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINA
#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINA #define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINA
#endif #endif
#endif // _WIN32_IE >= 0x0400
// CBEN_ENDEDIT sends this information... // CBEN_ENDEDIT sends this information...
// fChanged if the user actually did anything // fChanged if the user actually did anything
// iNewSelection gives what would be the new selection unless the notify is fail ed // iNewSelection gives what would be the new selection unless the notify is fail ed
// iNewSelection may be CB_ERR if there's no match // iNewSelection may be CB_ERR if there's no match
typedef struct { typedef struct {
NMHDR hdr; NMHDR hdr;
BOOL fChanged; BOOL fChanged;
int iNewSelection; int iNewSelection;
WCHAR szText[CBEMAXSTRLEN]; WCHAR szText[CBEMAXSTRLEN];
skipping to change at line 6254 skipping to change at line 5717
#define LPNMCBEENDEDIT LPNMCBEENDEDITW #define LPNMCBEENDEDIT LPNMCBEENDEDITW
#define PNMCBEENDEDIT PNMCBEENDEDITW #define PNMCBEENDEDIT PNMCBEENDEDITW
#else #else
#define NMCBEENDEDIT NMCBEENDEDITA #define NMCBEENDEDIT NMCBEENDEDITA
#define LPNMCBEENDEDIT LPNMCBEENDEDITA #define LPNMCBEENDEDIT LPNMCBEENDEDITA
#define PNMCBEENDEDIT PNMCBEENDEDITA #define PNMCBEENDEDIT PNMCBEENDEDITA
#endif #endif
#endif #endif
#endif // _WIN32_IE >= 0x0300
//====== TAB CONTROL ========================================================== //====== TAB CONTROL ==========================================================
#ifndef NOTABCONTROL #ifndef NOTABCONTROL
#ifdef _WIN32 #ifdef _WIN32
#define WC_TABCONTROLA "SysTabControl32" #define WC_TABCONTROLA "SysTabControl32"
#define WC_TABCONTROLW L"SysTabControl32" #define WC_TABCONTROLW L"SysTabControl32"
#ifdef UNICODE #ifdef UNICODE
skipping to change at line 6277 skipping to change at line 5738
#else #else
#define WC_TABCONTROL WC_TABCONTROLA #define WC_TABCONTROL WC_TABCONTROLA
#endif #endif
#else #else
#define WC_TABCONTROL "SysTabControl" #define WC_TABCONTROL "SysTabControl"
#endif #endif
// begin_r_commctrl // begin_r_commctrl
#if (_WIN32_IE >= 0x0300)
#define TCS_SCROLLOPPOSITE 0x0001 // assumes multiline tab #define TCS_SCROLLOPPOSITE 0x0001 // assumes multiline tab
#define TCS_BOTTOM 0x0002 #define TCS_BOTTOM 0x0002
#define TCS_RIGHT 0x0002 #define TCS_RIGHT 0x0002
#define TCS_MULTISELECT 0x0004 // allow multi-select in button mode #define TCS_MULTISELECT 0x0004 // allow multi-select in button mode
#endif
#if (_WIN32_IE >= 0x0400)
#define TCS_FLATBUTTONS 0x0008 #define TCS_FLATBUTTONS 0x0008
#endif
#define TCS_FORCEICONLEFT 0x0010 #define TCS_FORCEICONLEFT 0x0010
#define TCS_FORCELABELLEFT 0x0020 #define TCS_FORCELABELLEFT 0x0020
#if (_WIN32_IE >= 0x0300)
#define TCS_HOTTRACK 0x0040 #define TCS_HOTTRACK 0x0040
#define TCS_VERTICAL 0x0080 #define TCS_VERTICAL 0x0080
#endif
#define TCS_TABS 0x0000 #define TCS_TABS 0x0000
#define TCS_BUTTONS 0x0100 #define TCS_BUTTONS 0x0100
#define TCS_SINGLELINE 0x0000 #define TCS_SINGLELINE 0x0000
#define TCS_MULTILINE 0x0200 #define TCS_MULTILINE 0x0200
#define TCS_RIGHTJUSTIFY 0x0000 #define TCS_RIGHTJUSTIFY 0x0000
#define TCS_FIXEDWIDTH 0x0400 #define TCS_FIXEDWIDTH 0x0400
#define TCS_RAGGEDRIGHT 0x0800 #define TCS_RAGGEDRIGHT 0x0800
#define TCS_FOCUSONBUTTONDOWN 0x1000 #define TCS_FOCUSONBUTTONDOWN 0x1000
#define TCS_OWNERDRAWFIXED 0x2000 #define TCS_OWNERDRAWFIXED 0x2000
#define TCS_TOOLTIPS 0x4000 #define TCS_TOOLTIPS 0x4000
#define TCS_FOCUSNEVER 0x8000 #define TCS_FOCUSNEVER 0x8000
// end_r_commctrl // end_r_commctrl
#if (_WIN32_IE >= 0x0400)
// EX styles for use with TCM_SETEXTENDEDSTYLE // EX styles for use with TCM_SETEXTENDEDSTYLE
#define TCS_EX_FLATSEPARATORS 0x00000001 #define TCS_EX_FLATSEPARATORS 0x00000001
#define TCS_EX_REGISTERDROP 0x00000002 #define TCS_EX_REGISTERDROP 0x00000002
#endif
#define TCM_GETIMAGELIST (TCM_FIRST + 2) #define TCM_GETIMAGELIST (TCM_FIRST + 2)
#define TabCtrl_GetImageList(hwnd) \ #define TabCtrl_GetImageList(hwnd) \
(HIMAGELIST)SNDMSG((hwnd), TCM_GETIMAGELIST, 0, 0L) (HIMAGELIST)SNDMSG((hwnd), TCM_GETIMAGELIST, 0, 0L)
#define TCM_SETIMAGELIST (TCM_FIRST + 3) #define TCM_SETIMAGELIST (TCM_FIRST + 3)
#define TabCtrl_SetImageList(hwnd, himl) \ #define TabCtrl_SetImageList(hwnd, himl) \
(HIMAGELIST)SNDMSG((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(HIMAGELIST)(himl)) (HIMAGELIST)SNDMSG((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(HIMAGELIST)(himl))
#define TCM_GETITEMCOUNT (TCM_FIRST + 4) #define TCM_GETITEMCOUNT (TCM_FIRST + 4)
#define TabCtrl_GetItemCount(hwnd) \ #define TabCtrl_GetItemCount(hwnd) \
(int)SNDMSG((hwnd), TCM_GETITEMCOUNT, 0, 0L) (int)SNDMSG((hwnd), TCM_GETITEMCOUNT, 0, 0L)
#define TCIF_TEXT 0x0001 #define TCIF_TEXT 0x0001
#define TCIF_IMAGE 0x0002 #define TCIF_IMAGE 0x0002
#define TCIF_RTLREADING 0x0004 #define TCIF_RTLREADING 0x0004
#define TCIF_PARAM 0x0008 #define TCIF_PARAM 0x0008
#if (_WIN32_IE >= 0x0300)
#define TCIF_STATE 0x0010 #define TCIF_STATE 0x0010
#define TCIS_BUTTONPRESSED 0x0001 #define TCIS_BUTTONPRESSED 0x0001
#endif
#if (_WIN32_IE >= 0x0400)
#define TCIS_HIGHLIGHTED 0x0002 #define TCIS_HIGHLIGHTED 0x0002
#endif
#if (_WIN32_IE >= 0x0300)
#define TC_ITEMHEADERA TCITEMHEADERA #define TC_ITEMHEADERA TCITEMHEADERA
#define TC_ITEMHEADERW TCITEMHEADERW #define TC_ITEMHEADERW TCITEMHEADERW
#else
#define tagTCITEMHEADERA _TC_ITEMHEADERA
#define TCITEMHEADERA TC_ITEMHEADERA
#define tagTCITEMHEADERW _TC_ITEMHEADERW
#define TCITEMHEADERW TC_ITEMHEADERW
#endif
#define TC_ITEMHEADER TCITEMHEADER #define TC_ITEMHEADER TCITEMHEADER
typedef struct tagTCITEMHEADERA typedef struct tagTCITEMHEADERA
{ {
UINT mask; UINT mask;
UINT lpReserved1; UINT lpReserved1;
UINT lpReserved2; UINT lpReserved2;
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
skipping to change at line 6376 skipping to change at line 5818
} TCITEMHEADERW, *LPTCITEMHEADERW; } TCITEMHEADERW, *LPTCITEMHEADERW;
#ifdef UNICODE #ifdef UNICODE
#define TCITEMHEADER TCITEMHEADERW #define TCITEMHEADER TCITEMHEADERW
#define LPTCITEMHEADER LPTCITEMHEADERW #define LPTCITEMHEADER LPTCITEMHEADERW
#else #else
#define TCITEMHEADER TCITEMHEADERA #define TCITEMHEADER TCITEMHEADERA
#define LPTCITEMHEADER LPTCITEMHEADERA #define LPTCITEMHEADER LPTCITEMHEADERA
#endif #endif
#if (_WIN32_IE >= 0x0300)
#define TC_ITEMA TCITEMA #define TC_ITEMA TCITEMA
#define TC_ITEMW TCITEMW #define TC_ITEMW TCITEMW
#else
#define tagTCITEMA _TC_ITEMA
#define TCITEMA TC_ITEMA
#define tagTCITEMW _TC_ITEMW
#define TCITEMW TC_ITEMW
#endif
#define TC_ITEM TCITEM #define TC_ITEM TCITEM
typedef struct tagTCITEMA typedef struct tagTCITEMA
{ {
UINT mask; UINT mask;
#if (_WIN32_IE >= 0x0300)
DWORD dwState; DWORD dwState;
DWORD dwStateMask; DWORD dwStateMask;
#else
UINT lpReserved1;
UINT lpReserved2;
#endif
LPSTR pszText; LPSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
LPARAM lParam; LPARAM lParam;
} TCITEMA, *LPTCITEMA; } TCITEMA, *LPTCITEMA;
typedef struct tagTCITEMW typedef struct tagTCITEMW
{ {
UINT mask; UINT mask;
#if (_WIN32_IE >= 0x0300)
DWORD dwState; DWORD dwState;
DWORD dwStateMask; DWORD dwStateMask;
#else
UINT lpReserved1;
UINT lpReserved2;
#endif
LPWSTR pszText; LPWSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
LPARAM lParam; LPARAM lParam;
} TCITEMW, *LPTCITEMW; } TCITEMW, *LPTCITEMW;
#ifdef UNICODE #ifdef UNICODE
#define TCITEM TCITEMW #define TCITEM TCITEMW
#define LPTCITEM LPTCITEMW #define LPTCITEM LPTCITEMW
skipping to change at line 6490 skipping to change at line 5915
#define TCM_SETCURSEL (TCM_FIRST + 12) #define TCM_SETCURSEL (TCM_FIRST + 12)
#define TabCtrl_SetCurSel(hwnd, i) \ #define TabCtrl_SetCurSel(hwnd, i) \
(int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)(i), 0) (int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)(i), 0)
#define TCHT_NOWHERE 0x0001 #define TCHT_NOWHERE 0x0001
#define TCHT_ONITEMICON 0x0002 #define TCHT_ONITEMICON 0x0002
#define TCHT_ONITEMLABEL 0x0004 #define TCHT_ONITEMLABEL 0x0004
#define TCHT_ONITEM (TCHT_ONITEMICON | TCHT_ONITEMLABEL) #define TCHT_ONITEM (TCHT_ONITEMICON | TCHT_ONITEMLABEL)
#if (_WIN32_IE >= 0x0300)
#define LPTC_HITTESTINFO LPTCHITTESTINFO #define LPTC_HITTESTINFO LPTCHITTESTINFO
#define TC_HITTESTINFO TCHITTESTINFO #define TC_HITTESTINFO TCHITTESTINFO
#else
#define tagTCHITTESTINFO _TC_HITTESTINFO
#define TCHITTESTINFO TC_HITTESTINFO
#define LPTCHITTESTINFO LPTC_HITTESTINFO
#endif
typedef struct tagTCHITTESTINFO typedef struct tagTCHITTESTINFO
{ {
POINT pt; POINT pt;
UINT flags; UINT flags;
} TCHITTESTINFO, *LPTCHITTESTINFO; } TCHITTESTINFO, *LPTCHITTESTINFO;
#define TCM_HITTEST (TCM_FIRST + 13) #define TCM_HITTEST (TCM_FIRST + 13)
#define TabCtrl_HitTest(hwndTC, pinfo) \ #define TabCtrl_HitTest(hwndTC, pinfo) \
(int)SNDMSG((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO *)(pinfo)) (int)SNDMSG((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO *)(pinfo))
skipping to change at line 6549 skipping to change at line 5968
(void)SNDMSG((hwnd), TCM_SETTOOLTIPS, (WPARAM)(hwndTT), 0L) (void)SNDMSG((hwnd), TCM_SETTOOLTIPS, (WPARAM)(hwndTT), 0L)
#define TCM_GETCURFOCUS (TCM_FIRST + 47) #define TCM_GETCURFOCUS (TCM_FIRST + 47)
#define TabCtrl_GetCurFocus(hwnd) \ #define TabCtrl_GetCurFocus(hwnd) \
(int)SNDMSG((hwnd), TCM_GETCURFOCUS, 0, 0) (int)SNDMSG((hwnd), TCM_GETCURFOCUS, 0, 0)
#define TCM_SETCURFOCUS (TCM_FIRST + 48) #define TCM_SETCURFOCUS (TCM_FIRST + 48)
#define TabCtrl_SetCurFocus(hwnd, i) \ #define TabCtrl_SetCurFocus(hwnd, i) \
SNDMSG((hwnd),TCM_SETCURFOCUS, i, 0) SNDMSG((hwnd),TCM_SETCURFOCUS, i, 0)
#if (_WIN32_IE >= 0x0300)
#define TCM_SETMINTABWIDTH (TCM_FIRST + 49) #define TCM_SETMINTABWIDTH (TCM_FIRST + 49)
#define TabCtrl_SetMinTabWidth(hwnd, x) \ #define TabCtrl_SetMinTabWidth(hwnd, x) \
(int)SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x) (int)SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x)
#define TCM_DESELECTALL (TCM_FIRST + 50) #define TCM_DESELECTALL (TCM_FIRST + 50)
#define TabCtrl_DeselectAll(hwnd, fExcludeFocus)\ #define TabCtrl_DeselectAll(hwnd, fExcludeFocus)\
(void)SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0) (void)SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0)
#endif
#if (_WIN32_IE >= 0x0400)
#define TCM_HIGHLIGHTITEM (TCM_FIRST + 51) #define TCM_HIGHLIGHTITEM (TCM_FIRST + 51)
#define TabCtrl_HighlightItem(hwnd, i, fHighlight) \ #define TabCtrl_HighlightItem(hwnd, i, fHighlight) \
(BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)(i), (LPARAM)MAKELONG (fHigh light, 0)) (BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)(i), (LPARAM)MAKELONG (fHigh light, 0))
#define TCM_SETEXTENDEDSTYLE (TCM_FIRST + 52) // optional wParam == mask #define TCM_SETEXTENDEDSTYLE (TCM_FIRST + 52) // optional wParam == mask
#define TabCtrl_SetExtendedStyle(hwnd, dw)\ #define TabCtrl_SetExtendedStyle(hwnd, dw)\
(DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw) (DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw)
#define TCM_GETEXTENDEDSTYLE (TCM_FIRST + 53) #define TCM_GETEXTENDEDSTYLE (TCM_FIRST + 53)
skipping to change at line 6581 skipping to change at line 5996
(DWORD)SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0) (DWORD)SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0)
#define TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) \ #define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) \
(BOOL)SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) (BOOL)SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
#define TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define TabCtrl_GetUnicodeFormat(hwnd) \ #define TabCtrl_GetUnicodeFormat(hwnd) \
(BOOL)SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0) (BOOL)SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0)
#endif // _WIN32_IE >= 0x0400
#define TCN_KEYDOWN (TCN_FIRST - 0) #define TCN_KEYDOWN (TCN_FIRST - 0)
#if (_WIN32_IE >= 0x0300)
#define TC_KEYDOWN NMTCKEYDOWN #define TC_KEYDOWN NMTCKEYDOWN
#else
#define tagTCKEYDOWN _TC_KEYDOWN
#define NMTCKEYDOWN TC_KEYDOWN
#endif
#ifdef _WIN32 #ifdef _WIN32
#include <pshpack1.h> #include <pshpack1.h>
#endif #endif
typedef struct tagTCKEYDOWN typedef struct tagTCKEYDOWN
{ {
NMHDR hdr; NMHDR hdr;
WORD wVKey; WORD wVKey;
UINT flags; UINT flags;
} NMTCKEYDOWN; } NMTCKEYDOWN;
#ifdef _WIN32 #ifdef _WIN32
#include <poppack.h> #include <poppack.h>
#endif #endif
#define TCN_SELCHANGE (TCN_FIRST - 1) #define TCN_SELCHANGE (TCN_FIRST - 1)
#define TCN_SELCHANGING (TCN_FIRST - 2) #define TCN_SELCHANGING (TCN_FIRST - 2)
#if (_WIN32_IE >= 0x0400)
#define TCN_GETOBJECT (TCN_FIRST - 3) #define TCN_GETOBJECT (TCN_FIRST - 3)
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0500)
#define TCN_FOCUSCHANGE (TCN_FIRST - 4) #define TCN_FOCUSCHANGE (TCN_FIRST - 4)
#endif // _WIN32_IE >= 0x0500
#endif // NOTABCONTROL #endif // NOTABCONTROL
//====== ANIMATE CONTROL ====================================================== //====== ANIMATE CONTROL ======================================================
#ifndef NOANIMATE #ifndef NOANIMATE
#ifdef _WIN32 #ifdef _WIN32
#define ANIMATE_CLASSW L"SysAnimate32" #define ANIMATE_CLASSW L"SysAnimate32"
#define ANIMATE_CLASSA "SysAnimate32" #define ANIMATE_CLASSA "SysAnimate32"
skipping to change at line 6637 skipping to change at line 6041
#define ANIMATE_CLASS ANIMATE_CLASSW #define ANIMATE_CLASS ANIMATE_CLASSW
#else #else
#define ANIMATE_CLASS ANIMATE_CLASSA #define ANIMATE_CLASS ANIMATE_CLASSA
#endif #endif
// begin_r_commctrl // begin_r_commctrl
#define ACS_CENTER 0x0001 #define ACS_CENTER 0x0001
#define ACS_TRANSPARENT 0x0002 #define ACS_TRANSPARENT 0x0002
#define ACS_AUTOPLAY 0x0004 #define ACS_AUTOPLAY 0x0004
#if (_WIN32_IE >= 0x0300)
#define ACS_TIMER 0x0008 // don't use threads... use timers #define ACS_TIMER 0x0008 // don't use threads... use timers
#endif
// end_r_commctrl // end_r_commctrl
#define ACM_OPENA (WM_USER+100) #define ACM_OPENA (WM_USER+100)
#define ACM_OPENW (WM_USER+103) #define ACM_OPENW (WM_USER+103)
#ifdef UNICODE #ifdef UNICODE
#define ACM_OPEN ACM_OPENW #define ACM_OPEN ACM_OPENW
#else #else
#define ACM_OPEN ACM_OPENA #define ACM_OPEN ACM_OPENA
skipping to change at line 6674 skipping to change at line 6076
#define Animate_OpenEx(hwnd, hInst, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, (WPARAM )(hInst), (LPARAM)(LPTSTR)(szName)) #define Animate_OpenEx(hwnd, hInst, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, (WPARAM )(hInst), (LPARAM)(LPTSTR)(szName))
#define Animate_Play(hwnd, from, to, rep) (BOOL)SNDMSG(hwnd, ACM_PLAY, (WPARAM )(rep), (LPARAM)MAKELONG(from, to)) #define Animate_Play(hwnd, from, to, rep) (BOOL)SNDMSG(hwnd, ACM_PLAY, (WPARAM )(rep), (LPARAM)MAKELONG(from, to))
#define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd, ACM_STOP, 0, 0) #define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd, ACM_STOP, 0, 0)
#define Animate_IsPlaying(hwnd) (BOOL)SNDMSG(hwnd, ACM_ISPLAYING, 0, 0) #define Animate_IsPlaying(hwnd) (BOOL)SNDMSG(hwnd, ACM_ISPLAYING, 0, 0)
#define Animate_Close(hwnd) Animate_Open(hwnd, NULL) #define Animate_Close(hwnd) Animate_Open(hwnd, NULL)
#define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1) #define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1)
#endif #endif
#endif // NOANIMATE #endif // NOANIMATE
#if (_WIN32_IE >= 0x0300)
//====== MONTHCAL CONTROL ====================================================== //====== MONTHCAL CONTROL ======================================================
#ifndef NOMONTHCAL #ifndef NOMONTHCAL
#ifdef _WIN32 #ifdef _WIN32
#define MONTHCAL_CLASSW L"SysMonthCal32" #define MONTHCAL_CLASSW L"SysMonthCal32"
#define MONTHCAL_CLASSA "SysMonthCal32" #define MONTHCAL_CLASSA "SysMonthCal32"
#ifdef UNICODE #ifdef UNICODE
#define MONTHCAL_CLASS MONTHCAL_CLASSW #define MONTHCAL_CLASS MONTHCAL_CLASSW
skipping to change at line 6878 skipping to change at line 6279
#define MonthCal_SetMonthDelta(hmc, n) \ #define MonthCal_SetMonthDelta(hmc, n) \
(int)SNDMSG(hmc, MCM_SETMONTHDELTA, n, 0) (int)SNDMSG(hmc, MCM_SETMONTHDELTA, n, 0)
// DWORD MonthCal_GetMaxTodayWidth(HWND hmc, LPSIZE psz) // DWORD MonthCal_GetMaxTodayWidth(HWND hmc, LPSIZE psz)
// sets *psz to the maximum width/height of the "Today" string displayed // sets *psz to the maximum width/height of the "Today" string displayed
// at the bottom of the calendar (as long as MCS_NOTODAY is not specified) // at the bottom of the calendar (as long as MCS_NOTODAY is not specified)
#define MCM_GETMAXTODAYWIDTH (MCM_FIRST + 21) #define MCM_GETMAXTODAYWIDTH (MCM_FIRST + 21)
#define MonthCal_GetMaxTodayWidth(hmc) \ #define MonthCal_GetMaxTodayWidth(hmc) \
(DWORD)SNDMSG(hmc, MCM_GETMAXTODAYWIDTH, 0, 0) (DWORD)SNDMSG(hmc, MCM_GETMAXTODAYWIDTH, 0, 0)
#if (_WIN32_IE >= 0x0400)
#define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define MonthCal_SetUnicodeFormat(hwnd, fUnicode) \ #define MonthCal_SetUnicodeFormat(hwnd, fUnicode) \
(BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) (BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
#define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define MonthCal_GetUnicodeFormat(hwnd) \ #define MonthCal_GetUnicodeFormat(hwnd) \
(BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0) (BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0)
#endif
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
// View // View
#define MCMV_MONTH 0 #define MCMV_MONTH 0
#define MCMV_YEAR 1 #define MCMV_YEAR 1
#define MCMV_DECADE 2 #define MCMV_DECADE 2
#define MCMV_CENTURY 3 #define MCMV_CENTURY 3
#define MCMV_MAX MCMV_CENTURY #define MCMV_MAX MCMV_CENTURY
#define MCM_GETCURRENTVIEW (MCM_FIRST + 22) #define MCM_GETCURRENTVIEW (MCM_FIRST + 22)
skipping to change at line 7018 skipping to change at line 6417
DWORD dwNewView; DWORD dwNewView;
} NMVIEWCHANGE, *LPNMVIEWCHANGE; } NMVIEWCHANGE, *LPNMVIEWCHANGE;
#define MCN_VIEWCHANGE (MCN_FIRST - 4) // -750 #define MCN_VIEWCHANGE (MCN_FIRST - 4) // -750
// begin_r_commctrl // begin_r_commctrl
#define MCS_DAYSTATE 0x0001 #define MCS_DAYSTATE 0x0001
#define MCS_MULTISELECT 0x0002 #define MCS_MULTISELECT 0x0002
#define MCS_WEEKNUMBERS 0x0004 #define MCS_WEEKNUMBERS 0x0004
#if (_WIN32_IE >= 0x0400)
#define MCS_NOTODAYCIRCLE 0x0008 #define MCS_NOTODAYCIRCLE 0x0008
#define MCS_NOTODAY 0x0010 #define MCS_NOTODAY 0x0010
#else
#define MCS_NOTODAY 0x0008
#endif
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define MCS_NOTRAILINGDATES 0x0040 #define MCS_NOTRAILINGDATES 0x0040
#define MCS_SHORTDAYSOFWEEK 0x0080 #define MCS_SHORTDAYSOFWEEK 0x0080
#define MCS_NOSELCHANGEONNAV 0x0100 #define MCS_NOSELCHANGEONNAV 0x0100
#endif #endif
// end_r_commctrl // end_r_commctrl
#define GMR_VISIBLE 0 // visible portion of display #define GMR_VISIBLE 0 // visible portion of display
#define GMR_DAYSTATE 1 // above plus the grayed out parts of #define GMR_DAYSTATE 1 // above plus the grayed out parts of
skipping to change at line 7129 skipping to change at line 6524
#define DTM_GETMCCOLOR (DTM_FIRST + 7) #define DTM_GETMCCOLOR (DTM_FIRST + 7)
#define DateTime_GetMonthCalColor(hdp, iColor) SNDMSG(hdp, DTM_GETMCCOLOR, iColo r, 0) #define DateTime_GetMonthCalColor(hdp, iColor) SNDMSG(hdp, DTM_GETMCCOLOR, iColo r, 0)
// HWND DateTime_GetMonthCal(HWND hdp) // HWND DateTime_GetMonthCal(HWND hdp)
// returns the HWND of the MonthCal popup window. Only valid // returns the HWND of the MonthCal popup window. Only valid
// between DTN_DROPDOWN and DTN_CLOSEUP notifications. // between DTN_DROPDOWN and DTN_CLOSEUP notifications.
#define DTM_GETMONTHCAL (DTM_FIRST + 8) #define DTM_GETMONTHCAL (DTM_FIRST + 8)
#define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0) #define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0)
#if (_WIN32_IE >= 0x0400)
#define DTM_SETMCFONT (DTM_FIRST + 9) #define DTM_SETMCFONT (DTM_FIRST + 9)
#define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw)) #define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw))
#define DTM_GETMCFONT (DTM_FIRST + 10) #define DTM_GETMCFONT (DTM_FIRST + 10)
#define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0) #define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0)
#endif // _WIN32_IE >= 0x0400
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define DTM_SETMCSTYLE (DTM_FIRST + 11) #define DTM_SETMCSTYLE (DTM_FIRST + 11)
#define DateTime_SetMonthCalStyle(hdp, dwStyle) SNDMSG(hdp, DTM_SETMCSTYLE, 0, ( LPARAM)dwStyle) #define DateTime_SetMonthCalStyle(hdp, dwStyle) SNDMSG(hdp, DTM_SETMCSTYLE, 0, ( LPARAM)dwStyle)
#define DTM_GETMCSTYLE (DTM_FIRST + 12) #define DTM_GETMCSTYLE (DTM_FIRST + 12)
#define DateTime_GetMonthCalStyle(hdp) SNDMSG(hdp, DTM_GETMCSTYLE, 0, 0) #define DateTime_GetMonthCalStyle(hdp) SNDMSG(hdp, DTM_GETMCSTYLE, 0, 0)
#define DTM_CLOSEMONTHCAL (DTM_FIRST + 13) #define DTM_CLOSEMONTHCAL (DTM_FIRST + 13)
#define DateTime_CloseMonthCal(hdp) SNDMSG(hdp, DTM_CLOSEMONTHCAL, 0, 0) #define DateTime_CloseMonthCal(hdp) SNDMSG(hdp, DTM_CLOSEMONTHCAL, 0, 0)
skipping to change at line 7166 skipping to change at line 6557
#define DateTime_GetIdealSize(hdp, psize) (BOOL)SNDMSG((hdp), DTM_GETIDEALSIZE, 0, (LPARAM)(psize)) #define DateTime_GetIdealSize(hdp, psize) (BOOL)SNDMSG((hdp), DTM_GETIDEALSIZE, 0, (LPARAM)(psize))
#endif // (NTDDI_VERSION >= NTDDI_VISTA) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
// begin_r_commctrl // begin_r_commctrl
#define DTS_UPDOWN 0x0001 // use UPDOWN instead of MONTHCAL #define DTS_UPDOWN 0x0001 // use UPDOWN instead of MONTHCAL
#define DTS_SHOWNONE 0x0002 // allow a NONE selection #define DTS_SHOWNONE 0x0002 // allow a NONE selection
#define DTS_SHORTDATEFORMAT 0x0000 // use the short date format (app must forwar d WM_WININICHANGE messages) #define DTS_SHORTDATEFORMAT 0x0000 // use the short date format (app must forwar d WM_WININICHANGE messages)
#define DTS_LONGDATEFORMAT 0x0004 // use the long date format (app must forward WM_WININICHANGE messages) #define DTS_LONGDATEFORMAT 0x0004 // use the long date format (app must forward WM_WININICHANGE messages)
#if (_WIN32_IE >= 0x500)
#define DTS_SHORTDATECENTURYFORMAT 0x000C// short date format with century (app must forward WM_WININICHANGE messages) #define DTS_SHORTDATECENTURYFORMAT 0x000C// short date format with century (app must forward WM_WININICHANGE messages)
#endif // (_WIN32_IE >= 0x500)
#define DTS_TIMEFORMAT 0x0009 // use the time format (app must forward WM_W ININICHANGE messages) #define DTS_TIMEFORMAT 0x0009 // use the time format (app must forward WM_W ININICHANGE messages)
#define DTS_APPCANPARSE 0x0010 // allow user entered strings (app MUST respo nd to DTN_USERSTRING) #define DTS_APPCANPARSE 0x0010 // allow user entered strings (app MUST respo nd to DTN_USERSTRING)
#define DTS_RIGHTALIGN 0x0020 // right-align popup instead of left-align it #define DTS_RIGHTALIGN 0x0020 // right-align popup instead of left-align it
// end_r_commctrl // end_r_commctrl
#define DTN_DATETIMECHANGE (DTN_FIRST2 - 6) // the systemtime has changed, -759 #define DTN_DATETIMECHANGE (DTN_FIRST2 - 6) // the systemtime has changed, -759
typedef struct tagNMDATETIMECHANGE typedef struct tagNMDATETIMECHANGE
{ {
NMHDR nmhdr; NMHDR nmhdr;
skipping to change at line 7308 skipping to change at line 6697
#define GDTR_MIN 0x0001 #define GDTR_MIN 0x0001
#define GDTR_MAX 0x0002 #define GDTR_MAX 0x0002
#define GDT_ERROR -1 #define GDT_ERROR -1
#define GDT_VALID 0 #define GDT_VALID 0
#define GDT_NONE 1 #define GDT_NONE 1
#endif // _WIN32 #endif // _WIN32
#endif // NODATETIMEPICK #endif // NODATETIMEPICK
#if (_WIN32_IE >= 0x0400)
#ifndef NOIPADDRESS #ifndef NOIPADDRESS
/////////////////////////////////////////////// ///////////////////////////////////////////////
// IP Address edit control // IP Address edit control
// Messages sent to IPAddress controls // Messages sent to IPAddress controls
#define IPM_CLEARADDRESS (WM_USER+100) // no parameters #define IPM_CLEARADDRESS (WM_USER+100) // no parameters
#define IPM_SETADDRESS (WM_USER+101) // lparam = TCP/IP address #define IPM_SETADDRESS (WM_USER+101) // lparam = TCP/IP address
#define IPM_GETADDRESS (WM_USER+102) // lresult = # of non black fields. lpar am = LPDWORD for TCP/IP address #define IPM_GETADDRESS (WM_USER+102) // lresult = # of non black fields. lpar am = LPDWORD for TCP/IP address
skipping to change at line 7457 skipping to change at line 6844
#define Pager_GetButtonSize(hwnd) \ #define Pager_GetButtonSize(hwnd) \
(int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0) (int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0)
#define PGM_GETBUTTONSTATE (PGM_FIRST + 12) #define PGM_GETBUTTONSTATE (PGM_FIRST + 12)
#define Pager_GetButtonState(hwnd, iButton) \ #define Pager_GetButtonState(hwnd, iButton) \
(DWORD)SNDMSG((hwnd), PGM_GETBUTTONSTATE, 0, (LPARAM)(iButton)) (DWORD)SNDMSG((hwnd), PGM_GETBUTTONSTATE, 0, (LPARAM)(iButton))
#define PGM_GETDROPTARGET CCM_GETDROPTARGET #define PGM_GETDROPTARGET CCM_GETDROPTARGET
#define Pager_GetDropTarget(hwnd, ppdt) \ #define Pager_GetDropTarget(hwnd, ppdt) \
(void)SNDMSG((hwnd), PGM_GETDROPTARGET, 0, (LPARAM)(ppdt)) (void)SNDMSG((hwnd), PGM_GETDROPTARGET, 0, (LPARAM)(ppdt))
#define PGM_SETSCROLLINFO (PGM_FIRST + 13)
#define Pager_SetScrollInfo(hwnd, cTimeOut, cLinesPer, cPixelsPerLine) \
(void) SNDMSG((hwnd), PGM_SETSCROLLINFO, cTimeOut, MAKELONG(cLinesPer, c
PixelsPerLine))
//------------------------------------------------------------------------------ --------- //------------------------------------------------------------------------------ ---------
//Pager Control Notification Messages //Pager Control Notification Messages
//------------------------------------------------------------------------------ --------- //------------------------------------------------------------------------------ ---------
// PGN_SCROLL Notification Message // PGN_SCROLL Notification Message
#define PGN_SCROLL (PGN_FIRST-1) #define PGN_SCROLL (PGN_FIRST-1)
#define PGF_SCROLLUP 1 #define PGF_SCROLLUP 1
#define PGF_SCROLLDOWN 2 #define PGF_SCROLLDOWN 2
skipping to change at line 7583 skipping to change at line 6975
#ifdef UNICODE #ifdef UNICODE
#define WC_BUTTON WC_BUTTONW #define WC_BUTTON WC_BUTTONW
#else #else
#define WC_BUTTON WC_BUTTONA #define WC_BUTTON WC_BUTTONA
#endif #endif
#else #else
#define WC_BUTTON "Button" #define WC_BUTTON "Button"
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define BUTTON_IMAGELIST_ALIGN_LEFT 0 #define BUTTON_IMAGELIST_ALIGN_LEFT 0
#define BUTTON_IMAGELIST_ALIGN_RIGHT 1 #define BUTTON_IMAGELIST_ALIGN_RIGHT 1
#define BUTTON_IMAGELIST_ALIGN_TOP 2 #define BUTTON_IMAGELIST_ALIGN_TOP 2
#define BUTTON_IMAGELIST_ALIGN_BOTTOM 3 #define BUTTON_IMAGELIST_ALIGN_BOTTOM 3
#define BUTTON_IMAGELIST_ALIGN_CENTER 4 // Doesn't draw text #define BUTTON_IMAGELIST_ALIGN_CENTER 4 // Doesn't draw text
typedef struct typedef struct
{ {
HIMAGELIST himl; // Images: Normal, Hot, Pushed, Disabled. If count is le ss than 4, we use index 1 HIMAGELIST himl; // Images: Normal, Hot, Pushed, Disabled. If count is le ss than 4, we use index 1
RECT margin; // Margin around icon. RECT margin; // Margin around icon.
skipping to change at line 7626 skipping to change at line 7018
typedef struct tagNMBCHOTITEM typedef struct tagNMBCHOTITEM
{ {
NMHDR hdr; NMHDR hdr;
DWORD dwFlags; // HICF_* DWORD dwFlags; // HICF_*
} NMBCHOTITEM, * LPNMBCHOTITEM; } NMBCHOTITEM, * LPNMBCHOTITEM;
#define BCN_HOTITEMCHANGE (BCN_FIRST + 0x0001) #define BCN_HOTITEMCHANGE (BCN_FIRST + 0x0001)
#define BST_HOT 0x0200 #define BST_HOT 0x0200
#endif // _WIN32_WINNT >= 0x0501 #endif // (NTDDI_VERSION >= NTDDI_WINXP)
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
// BUTTON STATE FLAGS // BUTTON STATE FLAGS
#define BST_DROPDOWNPUSHED 0x0400 #define BST_DROPDOWNPUSHED 0x0400
// begin_r_commctrl // begin_r_commctrl
// BUTTON STYLES // BUTTON STYLES
#define BS_SPLITBUTTON 0x0000000CL #define BS_SPLITBUTTON 0x0000000CL
#define BS_DEFSPLITBUTTON 0x0000000DL #define BS_DEFSPLITBUTTON 0x0000000DL
#define BS_COMMANDLINK 0x0000000EL #define BS_COMMANDLINK 0x0000000EL
skipping to change at line 7689 skipping to change at line 7081
(BOOL)SNDMSG((hwnd), BCM_SETNOTE, 0, (LPARAM)(psz)) (BOOL)SNDMSG((hwnd), BCM_SETNOTE, 0, (LPARAM)(psz))
#define BCM_GETNOTE (BCM_FIRST + 0x000A) #define BCM_GETNOTE (BCM_FIRST + 0x000A)
#define Button_GetNote(hwnd, psz, pcc) \ #define Button_GetNote(hwnd, psz, pcc) \
(BOOL)SNDMSG((hwnd), BCM_GETNOTE, (WPARAM)pcc, (LPARAM)psz) (BOOL)SNDMSG((hwnd), BCM_GETNOTE, (WPARAM)pcc, (LPARAM)psz)
#define BCM_GETNOTELENGTH (BCM_FIRST + 0x000B) #define BCM_GETNOTELENGTH (BCM_FIRST + 0x000B)
#define Button_GetNoteLength(hwnd) \ #define Button_GetNoteLength(hwnd) \
(LRESULT)SNDMSG((hwnd), BCM_GETNOTELENGTH, 0, 0) (LRESULT)SNDMSG((hwnd), BCM_GETNOTELENGTH, 0, 0)
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
// Macro to use on a button or command link to display an elevated icon // Macro to use on a button or command link to display an elevated icon
#define BCM_SETSHIELD (BCM_FIRST + 0x000C) #define BCM_SETSHIELD (BCM_FIRST + 0x000C)
#define Button_SetElevationRequiredState(hwnd, fRequired) \ #define Button_SetElevationRequiredState(hwnd, fRequired) \
(LRESULT)SNDMSG((hwnd), BCM_SETSHIELD, 0, (LPARAM)fRequired) (LRESULT)SNDMSG((hwnd), BCM_SETSHIELD, 0, (LPARAM)fRequired)
#endif /* _WIN32_WINNT >= 0x0600 */ #endif // (NTDDI_VERSION >= NTDDI_VISTA)
// Value to pass to BCM_SETIMAGELIST to indicate that no glyph should be // Value to pass to BCM_SETIMAGELIST to indicate that no glyph should be
// displayed // displayed
#define BCCL_NOGLYPH (HIMAGELIST)(-1) #define BCCL_NOGLYPH (HIMAGELIST)(-1)
// NOTIFICATION MESSAGES // NOTIFICATION MESSAGES
typedef struct tagNMBCDROPDOWN typedef struct tagNMBCDROPDOWN
{ {
NMHDR hdr; NMHDR hdr;
RECT rcButton; RECT rcButton;
} NMBCDROPDOWN, * LPNMBCDROPDOWN; } NMBCDROPDOWN, * LPNMBCDROPDOWN;
#define BCN_DROPDOWN (BCN_FIRST + 0x0002) #define BCN_DROPDOWN (BCN_FIRST + 0x0002)
#endif // _WIN32_WINNT >= 0x600 #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#endif // NOBUTTON #endif // NOBUTTON
// ===================== End Button Control ========================= // ===================== End Button Control =========================
// ====================== Static Control ============================= // ====================== Static Control =============================
#ifndef NOSTATIC #ifndef NOSTATIC
#ifdef _WIN32 #ifdef _WIN32
skipping to change at line 7759 skipping to change at line 7151
#ifdef UNICODE #ifdef UNICODE
#define WC_EDIT WC_EDITW #define WC_EDIT WC_EDITW
#else #else
#define WC_EDIT WC_EDITA #define WC_EDIT WC_EDITA
#endif #endif
#else #else
#define WC_EDIT "Edit" #define WC_EDIT "Edit"
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
#define EM_SETCUEBANNER (ECM_FIRST + 1) // Set the cue banner with the l Parm = LPCWSTR #define EM_SETCUEBANNER (ECM_FIRST + 1) // Set the cue banner with the l Parm = LPCWSTR
#define Edit_SetCueBannerText(hwnd, lpcwText) \ #define Edit_SetCueBannerText(hwnd, lpcwText) \
(BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, 0, (LPARAM)(lpcwText)) (BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, 0, (LPARAM)(lpcwText))
#define Edit_SetCueBannerTextFocused(hwnd, lpcwText, fDrawFocused) \ #define Edit_SetCueBannerTextFocused(hwnd, lpcwText, fDrawFocused) \
(BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, (WPARAM)fDrawFocused, (LPARAM)lpcw Text) (BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, (WPARAM)fDrawFocused, (LPARAM)lpcw Text)
#define EM_GETCUEBANNER (ECM_FIRST + 2) // Set the cue banner with the l Parm = LPCWSTR #define EM_GETCUEBANNER (ECM_FIRST + 2) // Set the cue banner with the l Parm = LPCWSTR
#define Edit_GetCueBannerText(hwnd, lpwText, cchText) \ #define Edit_GetCueBannerText(hwnd, lpwText, cchText) \
(BOOL)SNDMSG((hwnd), EM_GETCUEBANNER, (WPARAM)(lpwText), (LPARAM)(cchTex t)) (BOOL)SNDMSG((hwnd), EM_GETCUEBANNER, (WPARAM)(lpwText), (LPARAM)(cchTex t))
typedef struct _tagEDITBALLOONTIP typedef struct _tagEDITBALLOONTIP
skipping to change at line 7784 skipping to change at line 7176
INT ttiIcon; // From TTI_* INT ttiIcon; // From TTI_*
} EDITBALLOONTIP, *PEDITBALLOONTIP; } EDITBALLOONTIP, *PEDITBALLOONTIP;
#define EM_SHOWBALLOONTIP (ECM_FIRST + 3) // Show a balloon tip associated to the edit control #define EM_SHOWBALLOONTIP (ECM_FIRST + 3) // Show a balloon tip associated to the edit control
#define Edit_ShowBalloonTip(hwnd, peditballoontip) \ #define Edit_ShowBalloonTip(hwnd, peditballoontip) \
(BOOL)SNDMSG((hwnd), EM_SHOWBALLOONTIP, 0, (LPARAM)(peditballoontip)) (BOOL)SNDMSG((hwnd), EM_SHOWBALLOONTIP, 0, (LPARAM)(peditballoontip))
#define EM_HIDEBALLOONTIP (ECM_FIRST + 4) // Hide any balloon tip associat ed with the edit control #define EM_HIDEBALLOONTIP (ECM_FIRST + 4) // Hide any balloon tip associat ed with the edit control
#define Edit_HideBalloonTip(hwnd) \ #define Edit_HideBalloonTip(hwnd) \
(BOOL)SNDMSG((hwnd), EM_HIDEBALLOONTIP, 0, 0) (BOOL)SNDMSG((hwnd), EM_HIDEBALLOONTIP, 0, 0)
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define EM_SETHILITE (ECM_FIRST + 5) #define EM_SETHILITE (ECM_FIRST + 5)
#define Edit_SetHilite(hwndCtl, ichStart, ichEnd) ((void)SNDMSG((hwndCtl), EM_S ETHILITE, (ichStart), (ichEnd))) #define Edit_SetHilite(hwndCtl, ichStart, ichEnd) ((void)SNDMSG((hwndCtl), EM_S ETHILITE, (ichStart), (ichEnd)))
#define EM_GETHILITE (ECM_FIRST + 6) #define EM_GETHILITE (ECM_FIRST + 6)
#define Edit_GetHilite(hwndCtl) ((DWORD)SNDMSG((hwndCtl), EM_ GETHILITE, 0L, 0L)) #define Edit_GetHilite(hwndCtl) ((DWORD)SNDMSG((hwndCtl), EM_ GETHILITE, 0L, 0L))
#endif #endif
#define EM_NOSETFOCUS (ECM_FIRST + 7)
#define Edit_NoSetFocus(hwndCtl) ((DWORD)SNDMSG((hwndCtl), EM_
NOSETFOCUS, 0L, 0L))
#define EM_TAKEFOCUS (ECM_FIRST + 8)
#define Edit_TakeFocus(hwndCtl) ((DWORD)SNDMSG((hwndCtl), EM_T
AKEFOCUS, 0L, 0L))
#endif // NOEDIT #endif // NOEDIT
// ===================== End Edit Control ========================= // ===================== End Edit Control =========================
// ====================== Listbox Control ============================= // ====================== Listbox Control =============================
#ifndef NOLISTBOX #ifndef NOLISTBOX
#ifdef _WIN32 #ifdef _WIN32
skipping to change at line 7842 skipping to change at line 7240
#else #else
#define WC_COMBOBOX WC_COMBOBOXA #define WC_COMBOBOX WC_COMBOBOXA
#endif #endif
#else #else
#define WC_COMBOBOX "ComboBox" #define WC_COMBOBOX "ComboBox"
#endif #endif
#endif // NOCOMBOBOX #endif // NOCOMBOBOX
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
// custom combobox control messages // custom combobox control messages
#define CB_SETMINVISIBLE (CBM_FIRST + 1) #define CB_SETMINVISIBLE (CBM_FIRST + 1)
#define CB_GETMINVISIBLE (CBM_FIRST + 2) #define CB_GETMINVISIBLE (CBM_FIRST + 2)
#define CB_SETCUEBANNER (CBM_FIRST + 3) #define CB_SETCUEBANNER (CBM_FIRST + 3)
#define CB_GETCUEBANNER (CBM_FIRST + 4) #define CB_GETCUEBANNER (CBM_FIRST + 4)
#define ComboBox_SetMinVisible(hwnd, iMinVisible) \ #define ComboBox_SetMinVisible(hwnd, iMinVisible) \
(BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)(iMinVisible), 0) (BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)(iMinVisible), 0)
skipping to change at line 7899 skipping to change at line 7297
// ===================== Task Dialog ========================= // ===================== Task Dialog =========================
#ifndef NOTASKDIALOG #ifndef NOTASKDIALOG
// Task Dialog is only available starting Windows Vista // Task Dialog is only available starting Windows Vista
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
#ifdef _WIN32 #ifdef _WIN32
#include <pshpack1.h> #include <pshpack1.h>
#endif #endif
typedef HRESULT (CALLBACK *PFTASKDIALOGCALLBACK)(__in HWND hwnd, __in UINT msg, __in WPARAM wParam, __in LPARAM lParam, __in LONG_PTR lpRefData); typedef HRESULT (CALLBACK *PFTASKDIALOGCALLBACK)(_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM wParam, _In_ LPARAM lParam, _In_ LONG_PTR lpRefData);
enum _TASKDIALOG_FLAGS enum _TASKDIALOG_FLAGS
{ {
TDF_ENABLE_HYPERLINKS = 0x0001, TDF_ENABLE_HYPERLINKS = 0x0001,
TDF_USE_HICON_MAIN = 0x0002, TDF_USE_HICON_MAIN = 0x0002,
TDF_USE_HICON_FOOTER = 0x0004, TDF_USE_HICON_FOOTER = 0x0004,
TDF_ALLOW_DIALOG_CANCELLATION = 0x0008, TDF_ALLOW_DIALOG_CANCELLATION = 0x0008,
TDF_USE_COMMAND_LINKS = 0x0010, TDF_USE_COMMAND_LINKS = 0x0010,
TDF_USE_COMMAND_LINKS_NO_ICON = 0x0020, TDF_USE_COMMAND_LINKS_NO_ICON = 0x0020,
TDF_EXPAND_FOOTER_AREA = 0x0040, TDF_EXPAND_FOOTER_AREA = 0x0040,
TDF_EXPANDED_BY_DEFAULT = 0x0080, TDF_EXPANDED_BY_DEFAULT = 0x0080,
TDF_VERIFICATION_FLAG_CHECKED = 0x0100, TDF_VERIFICATION_FLAG_CHECKED = 0x0100,
TDF_SHOW_PROGRESS_BAR = 0x0200, TDF_SHOW_PROGRESS_BAR = 0x0200,
TDF_SHOW_MARQUEE_PROGRESS_BAR = 0x0400, TDF_SHOW_MARQUEE_PROGRESS_BAR = 0x0400,
TDF_CALLBACK_TIMER = 0x0800, TDF_CALLBACK_TIMER = 0x0800,
TDF_POSITION_RELATIVE_TO_WINDOW = 0x1000, TDF_POSITION_RELATIVE_TO_WINDOW = 0x1000,
TDF_RTL_LAYOUT = 0x2000, TDF_RTL_LAYOUT = 0x2000,
TDF_NO_DEFAULT_RADIO_BUTTON = 0x4000, TDF_NO_DEFAULT_RADIO_BUTTON = 0x4000,
TDF_CAN_BE_MINIMIZED = 0x8000 TDF_CAN_BE_MINIMIZED = 0x8000,
#if (NTDDI_VERSION >= NTDDI_WIN8)
TDF_NO_SET_FOREGROUND = 0x00010000, // Don't call SetForegroun
dWindow() when activating the dialog
#endif // (NTDDI_VERSION >= NTDDI_WIN8)
TDF_SIZE_TO_CONTENT = 0x01000000 // used by ShellMessageBox
to emulate MessageBox sizing behavior
}; };
typedef int TASKDIALOG_FLAGS; // Note: _TASKDIALOG_FLAGS is an int typedef int TASKDIALOG_FLAGS; // Note: _TASKDIALOG_FLAGS is an int
typedef enum _TASKDIALOG_MESSAGES typedef enum _TASKDIALOG_MESSAGES
{ {
TDM_NAVIGATE_PAGE = WM_USER+101, TDM_NAVIGATE_PAGE = WM_USER+101,
TDM_CLICK_BUTTON = WM_USER+102, // wParam = Button ID 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_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_STATE = WM_USER+104, // wParam = new progress state
TDM_SET_PROGRESS_BAR_RANGE = WM_USER+105, // lParam = MAKELPARAM(nM inRange, nMaxRange) TDM_SET_PROGRESS_BAR_RANGE = WM_USER+105, // lParam = MAKELPARAM(nM inRange, nMaxRange)
skipping to change at line 7998 skipping to change at line 7400
TDCBF_NO_BUTTON = 0x0004, // selected control return value IDNO TDCBF_NO_BUTTON = 0x0004, // selected control return value IDNO
TDCBF_CANCEL_BUTTON = 0x0008, // selected control return value IDCANC EL TDCBF_CANCEL_BUTTON = 0x0008, // selected control return value IDCANC EL
TDCBF_RETRY_BUTTON = 0x0010, // selected control return value IDRETR Y TDCBF_RETRY_BUTTON = 0x0010, // selected control return value IDRETR Y
TDCBF_CLOSE_BUTTON = 0x0020 // selected control return value IDCLOS E TDCBF_CLOSE_BUTTON = 0x0020 // selected control return value IDCLOS E
}; };
typedef int TASKDIALOG_COMMON_BUTTON_FLAGS; // Note: _TASKDIALOG_COMMO N_BUTTON_FLAGS is an int typedef int TASKDIALOG_COMMON_BUTTON_FLAGS; // Note: _TASKDIALOG_COMMO N_BUTTON_FLAGS is an int
typedef struct _TASKDIALOGCONFIG typedef struct _TASKDIALOGCONFIG
{ {
UINT cbSize; UINT cbSize;
HWND hwndParent; HWND hwndParent; // incorrectly named, th is is the owner window, not a parent.
HINSTANCE hInstance; // used for MAKEINTRESOU RCE() strings HINSTANCE hInstance; // used for MAKEINTRESOU RCE() strings
TASKDIALOG_FLAGS dwFlags; // TASKDIALOG_FLAGS (TDF _XXX) flags TASKDIALOG_FLAGS dwFlags; // TASKDIALOG_FLAGS (TDF _XXX) flags
TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons; // TASKDIALOG_COMMON_BUT TON (TDCBF_XXX) flags TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons; // TASKDIALOG_COMMON_BUT TON (TDCBF_XXX) flags
PCWSTR pszWindowTitle; // string or MAKEINTRESO URCE() PCWSTR pszWindowTitle; // string or MAKEINTRESO URCE()
union union
{ {
HICON hMainIcon; HICON hMainIcon;
PCWSTR pszMainIcon; PCWSTR pszMainIcon;
} DUMMYUNIONNAME; } DUMMYUNIONNAME;
PCWSTR pszMainInstruction; PCWSTR pszMainInstruction;
skipping to change at line 8031 skipping to change at line 7433
{ {
HICON hFooterIcon; HICON hFooterIcon;
PCWSTR pszFooterIcon; PCWSTR pszFooterIcon;
} DUMMYUNIONNAME2; } DUMMYUNIONNAME2;
PCWSTR pszFooter; PCWSTR pszFooter;
PFTASKDIALOGCALLBACK pfCallback; PFTASKDIALOGCALLBACK pfCallback;
LONG_PTR lpCallbackData; LONG_PTR lpCallbackData;
UINT cxWidth; // width of the Task Dia log's client area in DLU's. If 0, Task Dialog will calculate the ideal width. UINT cxWidth; // width of the Task Dia log's client area in DLU's. If 0, Task Dialog will calculate the ideal width.
} TASKDIALOGCONFIG; } TASKDIALOGCONFIG;
WINCOMMCTRLAPI HRESULT WINAPI TaskDialogIndirect(__in const TASKDIALOGCONFIG *pT WINCOMMCTRLAPI HRESULT WINAPI TaskDialogIndirect(_In_ const TASKDIALOGCONFIG *pT
askConfig, __out_opt int *pnButton, __out_opt int *pnRadioButton, __out_opt BOOL askConfig, _Out_opt_ int *pnButton, _Out_opt_ int *pnRadioButton, _Out_opt_ BOOL
*pfVerificationFlagChecked); *pfVerificationFlagChecked);
WINCOMMCTRLAPI HRESULT WINAPI TaskDialog(__in_opt HWND hwndParent, __in_opt HINS WINCOMMCTRLAPI HRESULT WINAPI TaskDialog(_In_opt_ HWND hwndOwner, _In_opt_ HINST
TANCE hInstance, __in_opt PCWSTR pszWindowTitle, __in_opt PCWSTR pszMainInstruct ANCE hInstance, _In_opt_ PCWSTR pszWindowTitle, _In_opt_ PCWSTR pszMainInstructi
ion, __in_opt PCWSTR pszContent, TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons, on, _In_opt_ PCWSTR pszContent, TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons,
__in_opt PCWSTR pszIcon, __out_opt int *pnButton); _In_opt_ PCWSTR pszIcon, _Out_opt_ int *pnButton);
#ifdef _WIN32 #ifdef _WIN32
#include <poppack.h> #include <poppack.h>
#endif #endif
#endif // (NTDDI_VERSION >= NTDDI_VISTA) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#endif // NOTASKDIALOG #endif // NOTASKDIALOG
// ==================== End TaskDialog ======================= // ==================== End TaskDialog =======================
// //
// === MUI APIs === // === MUI APIs ===
// //
#ifndef NOMUI #ifndef NOMUI
void WINAPI InitMUILanguage(LANGID uiLang); void WINAPI InitMUILanguage(LANGID uiLang);
LANGID WINAPI GetMUILanguage(void); LANGID WINAPI GetMUILanguage(void);
#endif // NOMUI #endif // NOMUI
#endif // _WIN32_IE >= 0x0400
#ifndef NO_COMMCTRL_DA #ifndef NO_COMMCTRL_DA
#define __COMMCTRL_DA_DEFINED__ #define __COMMCTRL_DA_DEFINED__
// //
//====== Dynamic Array routines ========================================== //====== Dynamic Array routines ==========================================
// //
// Note that the STL and other libraries have similar functionality. // Note that the STL and other libraries have similar functionality.
// The routines here are specific to Windows and may not be as convenient // The routines here are specific to Windows and may not be as convenient
// or fully functional as those in other libraries. // or fully functional as those in other libraries.
// //
#define DA_LAST (0x7FFFFFFF) #define DA_LAST (0x7FFFFFFF)
#define DA_ERR (-1) #define DA_ERR (-1)
typedef int (CALLBACK *PFNDAENUMCALLBACK)(__in_opt void *p, __in_opt void *pData typedef int (CALLBACK *PFNDAENUMCALLBACK)(_In_opt_ void *p, _In_opt_ void *pData
); );
typedef int (CALLBACK *PFNDAENUMCALLBACKCONST)(__in_opt const void *p, __in_opt typedef int (CALLBACK *PFNDAENUMCALLBACKCONST)(_In_opt_ const void *p, _In_opt_
void *pData); void *pData);
typedef int (CALLBACK *PFNDACOMPARE)(__in_opt void *p1, __in_opt void *p2, __in typedef int (CALLBACK *PFNDACOMPARE)(_In_opt_ void *p1, _In_opt_ void *p2, _In_
LPARAM lParam); LPARAM lParam);
typedef int (CALLBACK *PFNDACOMPARECONST)(__in_opt const void *p1, __in_opt cons typedef int (CALLBACK *PFNDACOMPARECONST)(_In_opt_ const void *p1, _In_opt_ cons
t void *p2, __in LPARAM lParam); t void *p2, _In_ LPARAM lParam);
// Dynamic structure array // Dynamic structure array
struct _DSA; struct _DSA;
typedef struct _DSA *HDSA; typedef struct _DSA *HDSA;
WINCOMMCTRLAPI HDSA WINAPI DSA_Create(int cbItem, int cItemGrow); WINCOMMCTRLAPI HDSA WINAPI DSA_Create(int cbItem, int cItemGrow);
WINCOMMCTRLAPI BOOL WINAPI DSA_Destroy(__inout_opt HDSA hdsa); WINCOMMCTRLAPI BOOL WINAPI DSA_Destroy(_Inout_opt_ HDSA hdsa);
WINCOMMCTRLAPI void WINAPI DSA_DestroyCallback(__inout_opt HDSA hdsa, __in PFN WINCOMMCTRLAPI void WINAPI DSA_DestroyCallback(_Inout_opt_ HDSA hdsa, _In_ PFN
DAENUMCALLBACK pfnCB, __in_opt void *pData); DAENUMCALLBACK pfnCB, _In_opt_ void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DSA_DestroyCallback(__inout_opt HDSA hdsa, __in PFNDA ENUMCALLBACKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DSA_DestroyCallback(_Inout_opt_ HDSA hdsa, _In_ PFNDA ENUMCALLBACKCONST pfnCB, _In_opt_ void *pData)
{ {
DSA_DestroyCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData); DSA_DestroyCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteItem(__inout HDSA hdsa, __in int i); WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteItem(_Inout_ HDSA hdsa, _In_ int i);
WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteAllItems(__inout HDSA hdsa); WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteAllItems(_Inout_ HDSA hdsa);
WINCOMMCTRLAPI void WINAPI DSA_EnumCallback(__in HDSA hdsa, __in PFNDAENUMCALL WINCOMMCTRLAPI void WINAPI DSA_EnumCallback(_In_ HDSA hdsa, _In_ PFNDAENUMCALL
BACK pfnCB, __in_opt void *pData); BACK pfnCB, _In_opt_ void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DSA_EnumCallback(__in HDSA hdsa, __in PFNDAENUMCALLBA CKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DSA_EnumCallback(_In_ HDSA hdsa, _In_ PFNDAENUMCALLBA CKCONST pfnCB, _In_opt_ void *pData)
{ {
DSA_EnumCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData); DSA_EnumCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI int WINAPI DSA_InsertItem(__inout HDSA hdsa, __in int i, __in WINCOMMCTRLAPI int WINAPI DSA_InsertItem(_Inout_ HDSA hdsa, _In_ int i, _In_
const void *pitem); const void *pitem);
WINCOMMCTRLAPI PVOID WINAPI DSA_GetItemPtr(__in HDSA hdsa, __in int i); WINCOMMCTRLAPI PVOID WINAPI DSA_GetItemPtr(_In_ HDSA hdsa, _In_ int i);
WINCOMMCTRLAPI BOOL WINAPI DSA_GetItem(__in HDSA hdsa, __in int i, __out_xcoun _Success_(return) WINCOMMCTRLAPI BOOL WINAPI DSA_GetItem(_In_ HDSA hdsa, _In_
t(pdsa->cbItem) void *pitem); int i, _Out_writes_(_Inexpressible_(pdsa->cbItem)) void *pitem);
WINCOMMCTRLAPI BOOL WINAPI DSA_SetItem(__inout HDSA hdsa, __in int i, __in con _Success_(return) WINCOMMCTRLAPI BOOL WINAPI DSA_SetItem(_Inout_ HDSA hdsa, _I
st void *pitem); n_ int i, _In_ const void *pitem);
#define DSA_GetItemCount(hdsa) (*(int *)(hdsa)) #define DSA_GetItemCount(hdsa) (*(int *)(hdsa))
#define DSA_AppendItem(hdsa, pitem) DSA_InsertItem(hdsa, DA_LAST, pitem) #define DSA_AppendItem(hdsa, pitem) DSA_InsertItem(hdsa, DA_LAST, pitem)
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
WINCOMMCTRLAPI HDSA WINAPI DSA_Clone(__in HDSA hdsa); WINCOMMCTRLAPI HDSA WINAPI DSA_Clone(_In_ HDSA hdsa);
WINCOMMCTRLAPI ULONGLONG WINAPI DSA_GetSize(__in_opt HDSA hdsa); WINCOMMCTRLAPI ULONGLONG WINAPI DSA_GetSize(_In_opt_ HDSA hdsa);
WINCOMMCTRLAPI BOOL WINAPI DSA_Sort(__inout HDSA pdsa, __in PFNDACOMPARE pfnCo WINCOMMCTRLAPI BOOL WINAPI DSA_Sort(_Inout_ HDSA pdsa, _In_ PFNDACOMPARE pfnCo
mpare, __in LPARAM lParam); mpare, _In_ LPARAM lParam);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline BOOL DSA_Sort(__inout HDSA hdsa, __in PFNDACOMPARECONST pf nCompare, __in LPARAM lParam) extern "C++" __inline BOOL DSA_Sort(_Inout_ HDSA hdsa, _In_ PFNDACOMPARECONST pf nCompare, _In_ LPARAM lParam)
{ {
return DSA_Sort(hdsa, (PFNDACOMPARE)(pfnCompare), lParam); return DSA_Sort(hdsa, (PFNDACOMPARE)(pfnCompare), lParam);
} }
#endif #endif
#endif // NTDDI_VISTA #endif // NTDDI_VISTA
#define DSA_APPEND DA_LAST #define DSA_APPEND DA_LAST
#define DSA_ERR DA_ERR #define DSA_ERR DA_ERR
#define PFNDSAENUMCALLBACK PFNDAENUMCALLBACK #define PFNDSAENUMCALLBACK PFNDAENUMCALLBACK
#define PFNDSAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST #define PFNDSAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST
#define PFNDSACOMPARE PFNDACOMPARE #define PFNDSACOMPARE PFNDACOMPARE
#define PFNDSACOMPARECONST PFNDACOMPARECONST #define PFNDSACOMPARECONST PFNDACOMPARECONST
// Dynamic pointer array // Dynamic pointer array
struct _DPA; struct _DPA;
typedef struct _DPA *HDPA; typedef struct _DPA *HDPA;
WINCOMMCTRLAPI HDPA WINAPI DPA_Create(int cItemGrow); WINCOMMCTRLAPI HDPA WINAPI DPA_Create(int cItemGrow);
WINCOMMCTRLAPI HDPA WINAPI DPA_CreateEx(__in int cpGrow, __in_opt HANDLE hheap WINCOMMCTRLAPI HDPA WINAPI DPA_CreateEx(_In_ int cpGrow, _In_opt_ HANDLE hheap
); );
WINCOMMCTRLAPI HDPA WINAPI DPA_Clone(__in const HDPA hdpa, __inout_opt HDPA hd WINCOMMCTRLAPI HDPA WINAPI DPA_Clone(_In_ const HDPA hdpa, _Inout_opt_ HDPA hd
paNew); paNew);
WINCOMMCTRLAPI BOOL WINAPI DPA_Destroy(__inout_opt HDPA hdpa); WINCOMMCTRLAPI BOOL WINAPI DPA_Destroy(_Inout_opt_ HDPA hdpa);
WINCOMMCTRLAPI void WINAPI DPA_DestroyCallback(__inout_opt HDPA hdpa, __in PFN WINCOMMCTRLAPI void WINAPI DPA_DestroyCallback(_Inout_opt_ HDPA hdpa, _In_ PFN
DAENUMCALLBACK pfnCB, __in_opt void *pData); DAENUMCALLBACK pfnCB, _In_opt_ void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DPA_DestroyCallback(__in HDPA hdpa, __in PFNDAENUMCAL LBACKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DPA_DestroyCallback(_In_ HDPA hdpa, _In_ PFNDAENUMCAL LBACKCONST pfnCB, _In_opt_ void *pData)
{ {
DPA_DestroyCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData); DPA_DestroyCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI PVOID WINAPI DPA_DeletePtr(__inout HDPA hdpa, __in int i); WINCOMMCTRLAPI PVOID WINAPI DPA_DeletePtr(_Inout_ HDPA hdpa, _In_ int i);
WINCOMMCTRLAPI BOOL WINAPI DPA_DeleteAllPtrs(__inout HDPA hdpa); WINCOMMCTRLAPI BOOL WINAPI DPA_DeleteAllPtrs(_Inout_ HDPA hdpa);
WINCOMMCTRLAPI void WINAPI DPA_EnumCallback(__in_opt HDPA hdpa, __in_opt PFNDA WINCOMMCTRLAPI void WINAPI DPA_EnumCallback(_In_opt_ HDPA hdpa, _In_opt_ PFNDA
ENUMCALLBACK pfnCB, __in_opt void *pData); ENUMCALLBACK pfnCB, _In_opt_ void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DPA_EnumCallback(__in HDPA hdpa, __in PFNDAENUMCALLBA CKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DPA_EnumCallback(_In_ HDPA hdpa, _In_ PFNDAENUMCALLBA CKCONST pfnCB, _In_opt_ void *pData)
{ {
DPA_EnumCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData); DPA_EnumCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI DPA_Grow(__inout HDPA pdpa, __in int cp); WINCOMMCTRLAPI BOOL WINAPI DPA_Grow(_Inout_ HDPA pdpa, _In_ int cp);
WINCOMMCTRLAPI int WINAPI DPA_InsertPtr(__inout HDPA hdpa, __in int i, __in_o WINCOMMCTRLAPI int WINAPI DPA_InsertPtr(_Inout_ HDPA hdpa, _In_ int i, _In_op
pt void *p); t_ void *p);
WINCOMMCTRLAPI BOOL WINAPI DPA_SetPtr(__inout HDPA hdpa, __in int i, __in_opt WINCOMMCTRLAPI BOOL WINAPI DPA_SetPtr(_Inout_ HDPA hdpa, _In_ int i, _In_opt_
void *p); void *p);
WINCOMMCTRLAPI PVOID WINAPI DPA_GetPtr(__in HDPA hdpa, __in INT_PTR i); WINCOMMCTRLAPI PVOID WINAPI DPA_GetPtr(_In_ HDPA hdpa, _In_ INT_PTR i);
WINCOMMCTRLAPI int WINAPI DPA_GetPtrIndex(__in HDPA hdpa, __in_opt const void WINCOMMCTRLAPI int WINAPI DPA_GetPtrIndex(_In_ HDPA hdpa, _In_opt_ const void
*p); *p);
#define DPA_GetPtrCount(hdpa) (*(int *)(hdpa)) #define DPA_GetPtrCount(hdpa) (*(int *)(hdpa))
#define DPA_SetPtrCount(hdpa, cItems) (*(int *)(hdpa) = (cItems)) #define DPA_SetPtrCount(hdpa, cItems) (*(int *)(hdpa) = (cItems))
#define DPA_FastDeleteLastPtr(hdpa) (--*(int *)(hdpa)) #define DPA_FastDeleteLastPtr(hdpa) (--*(int *)(hdpa))
#define DPA_GetPtrPtr(hdpa) (*((void * **)((BYTE *)(hdpa) + sizeof(void *)))) #define DPA_GetPtrPtr(hdpa) (*((void * **)((BYTE *)(hdpa) + sizeof(void *))))
#define DPA_FastGetPtr(hdpa, i) (DPA_GetPtrPtr(hdpa)[i]) #define DPA_FastGetPtr(hdpa, i) (DPA_GetPtrPtr(hdpa)[i])
#define DPA_AppendPtr(hdpa, pitem) DPA_InsertPtr(hdpa, DA_LAST, pitem) #define DPA_AppendPtr(hdpa, pitem) DPA_InsertPtr(hdpa, DA_LAST, pitem)
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
WINCOMMCTRLAPI ULONGLONG WINAPI DPA_GetSize(__in_opt HDPA hdpa); WINCOMMCTRLAPI ULONGLONG WINAPI DPA_GetSize(_In_opt_ HDPA hdpa);
#endif // NTDDI_VISTA #endif // NTDDI_VISTA
WINCOMMCTRLAPI BOOL WINAPI DPA_Sort(__inout HDPA hdpa, __in PFNDACOMPARE pfnCo mpare, __in LPARAM lParam); WINCOMMCTRLAPI BOOL WINAPI DPA_Sort(_Inout_ HDPA hdpa, _In_ PFNDACOMPARE pfnCo mpare, _In_ LPARAM lParam);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline BOOL DPA_Sort(__inout HDPA hdpa, __in PFNDACOMPARECONST pf nCompare, __in LPARAM lParam) extern "C++" __inline BOOL DPA_Sort(_Inout_ HDPA hdpa, _In_ PFNDACOMPARECONST pf nCompare, _In_ LPARAM lParam)
{ {
return DPA_Sort(hdpa, (PFNDACOMPARE)(pfnCompare), lParam); return DPA_Sort(hdpa, (PFNDACOMPARE)(pfnCompare), lParam);
} }
#endif #endif
// //
// Save to and load from a stream. The stream callback gets a pointer to // Save to and load from a stream. The stream callback gets a pointer to
// a DPASTREAMINFO structure. // a DPASTREAMINFO structure.
// //
// For DPA_SaveStream, the callback is responsible for writing the pvItem // For DPA_SaveStream, the callback is responsible for writing the pvItem
skipping to change at line 8192 skipping to change at line 7592
// or some failure. // or some failure.
// //
typedef struct _DPASTREAMINFO typedef struct _DPASTREAMINFO
{ {
int iPos; // Index of item int iPos; // Index of item
void *pvItem; void *pvItem;
} DPASTREAMINFO; } DPASTREAMINFO;
struct IStream; struct IStream;
typedef HRESULT (CALLBACK *PFNDPASTREAM)(__in DPASTREAMINFO * pinfo, __in struct IStream * pstream, __in_opt void *pvInstData); typedef HRESULT (CALLBACK *PFNDPASTREAM)(_In_ DPASTREAMINFO * pinfo, _In_ struct IStream * pstream, _In_opt_ void *pvInstData);
WINCOMMCTRLAPI HRESULT WINAPI DPA_LoadStream(__deref_out HDPA * phdpa, __in PFND WINCOMMCTRLAPI HRESULT WINAPI DPA_LoadStream(_Outptr_ HDPA * phdpa, _In_ PFNDPAS
PASTREAM pfn, __in struct IStream * pstream, __in_opt void *pvInstData); TREAM pfn, _In_ struct IStream * pstream, _In_opt_ void *pvInstData);
WINCOMMCTRLAPI HRESULT WINAPI DPA_SaveStream(__in HDPA hdpa, __in PFNDPASTREAM p WINCOMMCTRLAPI HRESULT WINAPI DPA_SaveStream(_In_ HDPA hdpa, _In_ PFNDPASTREAM p
fn, __in struct IStream * pstream, __in_opt void *pvInstData); fn, _In_ struct IStream * pstream, _In_opt_ void *pvInstData);
// Merge two DPAs. This takes two (optionally) presorted arrays and merges // Merge two DPAs. This takes two (optionally) presorted arrays and merges
// the source array into the dest. DPA_Merge uses the provided callbacks // the source array into the dest. DPA_Merge uses the provided callbacks
// to perform comparison and merge operations. The merge callback is // to perform comparison and merge operations. The merge callback is
// called when two elements (one in each list) match according to the // called when two elements (one in each list) match according to the
// compare function. This allows portions of an element in one list to // compare function. This allows portions of an element in one list to
// be merged with the respective element in the second list. // be merged with the respective element in the second list.
// //
// The first DPA (hdpaDest) is the output array. // The first DPA (hdpaDest) is the output array.
// //
skipping to change at line 8227 skipping to change at line 7627
// //
#define DPAM_SORTED 0x00000001 #define DPAM_SORTED 0x00000001
#define DPAM_NORMAL 0x00000002 #define DPAM_NORMAL 0x00000002
#define DPAM_UNION 0x00000004 #define DPAM_UNION 0x00000004
#define DPAM_INTERSECT 0x00000008 #define DPAM_INTERSECT 0x00000008
// The merge callback should merge contents of the two items and return // The merge callback should merge contents of the two items and return
// the pointer of the merged item. It's okay to simply use pvDest // the pointer of the merged item. It's okay to simply use pvDest
// as the returned pointer. // as the returned pointer.
// //
typedef void* (CALLBACK *PFNDPAMERGE)(__in UINT uMsg, __in void *pvDest, __in vo typedef void* (CALLBACK *PFNDPAMERGE)(_In_ UINT uMsg, _In_ void *pvDest, _In_ vo
id *pvSrc, __in LPARAM lParam); id *pvSrc, _In_ LPARAM lParam);
typedef const void* (CALLBACK *PFNDPAMERGECONST)(__in UINT uMsg, __in const void typedef const void* (CALLBACK *PFNDPAMERGECONST)(_In_ UINT uMsg, _In_ const void
*pvDest, __in const void *pvSrc, __in LPARAM lParam); *pvDest, _In_ const void *pvSrc, _In_ LPARAM lParam);
// Messages for merge callback // Messages for merge callback
#define DPAMM_MERGE 1 #define DPAMM_MERGE 1
#define DPAMM_DELETE 2 #define DPAMM_DELETE 2
#define DPAMM_INSERT 3 #define DPAMM_INSERT 3
WINCOMMCTRLAPI BOOL WINAPI DPA_Merge(__inout HDPA hdpaDest, __in HDPA hdpaSrc, _ _in DWORD dwFlags, __in PFNDACOMPARE pfnCompare, __in PFNDPAMERGE pfnMerge, __in LPARAM lParam); WINCOMMCTRLAPI BOOL WINAPI DPA_Merge(_Inout_ HDPA hdpaDest, _In_ HDPA hdpaSrc, _ In_ DWORD dwFlags, _In_ PFNDACOMPARE pfnCompare, _In_ PFNDPAMERGE pfnMerge, _In_ LPARAM lParam);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline BOOL DPA_Merge(__inout HDPA hdpaDest, __in HDPA hdpaSrc, _ _in DWORD dwFlags, __in PFNDACOMPARECONST pfnCompare, __in PFNDPAMERGECONST pfnM erge, __in LPARAM lParam) extern "C++" __inline BOOL DPA_Merge(_Inout_ HDPA hdpaDest, _In_ HDPA hdpaSrc, _ In_ DWORD dwFlags, _In_ PFNDACOMPARECONST pfnCompare, _In_ PFNDPAMERGECONST pfnM erge, _In_ LPARAM lParam)
{ {
return DPA_Merge(hdpaDest, hdpaSrc, dwFlags, (PFNDACOMPARE)pfnCompare, (PFND PAMERGE)pfnMerge, lParam); return DPA_Merge(hdpaDest, hdpaSrc, dwFlags, (PFNDACOMPARE)pfnCompare, (PFND PAMERGE)pfnMerge, lParam);
} }
#endif #endif
// //
// Search array. If DPAS_SORTED, then array is assumed to be sorted // Search array. If DPAS_SORTED, then array is assumed to be sorted
// according to pfnCompare, and binary search algorithm is used. // according to pfnCompare, and binary search algorithm is used.
// Otherwise, linear search is used. // Otherwise, linear search is used.
// //
skipping to change at line 8261 skipping to change at line 7661
// found. If neither are specified, this function returns -1 if no exact // found. If neither are specified, this function returns -1 if no exact
// match is found. Otherwise, the index of the item before or after the // match is found. Otherwise, the index of the item before or after the
// closest (including exact) match is returned. // closest (including exact) match is returned.
// //
// Search option flags // Search option flags
// //
#define DPAS_SORTED 0x0001 #define DPAS_SORTED 0x0001
#define DPAS_INSERTBEFORE 0x0002 #define DPAS_INSERTBEFORE 0x0002
#define DPAS_INSERTAFTER 0x0004 #define DPAS_INSERTAFTER 0x0004
WINCOMMCTRLAPI int WINAPI DPA_Search(__in HDPA hdpa, __in_opt void *pFind, __in int iStart, __in PFNDACOMPARE pfnCompare, __in LPARAM lParam, __in UINT options) ; WINCOMMCTRLAPI int WINAPI DPA_Search(_In_ HDPA hdpa, _In_opt_ void *pFind, _In_ int iStart, _In_ PFNDACOMPARE pfnCompare, _In_ LPARAM lParam, _In_ UINT options) ;
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline int DPA_Search(__in HDPA hdpa, __in_opt const void *pFind, __in int iStart, __in PFNDACOMPARECONST pfnCompare, __in LPARAM lParam, __in UI NT options) extern "C++" __inline int DPA_Search(_In_ HDPA hdpa, _In_opt_ const void *pFind, _In_ int iStart, _In_ PFNDACOMPARECONST pfnCompare, _In_ LPARAM lParam, _In_ UI NT options)
{ {
return DPA_Search(hdpa, const_cast<void *>(pFind), iStart, (PFNDACOMPARE)pfn Compare, lParam, options); return DPA_Search(hdpa, const_cast<void *>(pFind), iStart, (PFNDACOMPARE)pfn Compare, lParam, options);
} }
#endif #endif
#define DPA_SortedInsertPtr(hdpa, pFind, iStart, pfnCompare, lParam, options, pi tem) \ #define DPA_SortedInsertPtr(hdpa, pFind, iStart, pfnCompare, lParam, options, pi tem) \
DPA_InsertPtr(hdpa, DPA_Search(hdpa, pFind, iStart, pfnCompare, lPar am, (DPAS_SORTED | (options))), (pitem)) DPA_InsertPtr(hdpa, DPA_Search(hdpa, pFind, iStart, pfnCompare, lPar am, (DPAS_SORTED | (options))), (pitem))
#define DPA_APPEND DA_LAST #define DPA_APPEND DA_LAST
#define DPA_ERR DA_ERR #define DPA_ERR DA_ERR
#define PFNDPAENUMCALLBACK PFNDAENUMCALLBACK #define PFNDPAENUMCALLBACK PFNDAENUMCALLBACK
#define PFNDPAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST #define PFNDPAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST
#define PFNDPACOMPARE PFNDACOMPARE #define PFNDPACOMPARE PFNDACOMPARE
#define PFNDPACOMPARECONST PFNDACOMPARECONST #define PFNDPACOMPARECONST PFNDACOMPARECONST
#endif // NO_COMMCTRL_DA #endif // NO_COMMCTRL_DA
WINCOMMCTRLAPI BOOL WINAPI Str_SetPtrW(__deref_inout_opt LPWSTR * ppsz, __in_opt LPCWSTR psz); WINCOMMCTRLAPI BOOL WINAPI Str_SetPtrW(_Inout_ LPWSTR * ppsz, _In_opt_ LPCWSTR p sz);
#ifdef _WIN32 #ifdef _WIN32
//====== TrackMouseEvent ===================================================== //====== TrackMouseEvent =====================================================
#ifndef NOTRACKMOUSEEVENT #ifndef NOTRACKMOUSEEVENT
// //
// If the messages for TrackMouseEvent have not been defined then define them // If the messages for TrackMouseEvent have not been defined then define them
// now. // now.
// //
skipping to change at line 8331 skipping to change at line 7731
#endif // !TME_HOVER #endif // !TME_HOVER
// //
// Declare _TrackMouseEvent. This API tries to use the window manager's // Declare _TrackMouseEvent. This API tries to use the window manager's
// implementation of TrackMouseEvent if it is present, otherwise it emulates. // implementation of TrackMouseEvent if it is present, otherwise it emulates.
// //
WINCOMMCTRLAPI WINCOMMCTRLAPI
BOOL BOOL
WINAPI WINAPI
_TrackMouseEvent( _TrackMouseEvent(
__inout LPTRACKMOUSEEVENT lpEventTrack); _Inout_ LPTRACKMOUSEEVENT lpEventTrack);
#endif // !NOTRACKMOUSEEVENT #endif // !NOTRACKMOUSEEVENT
#if (_WIN32_IE >= 0x0400)
//====== Flat Scrollbar APIs========================================= //====== Flat Scrollbar APIs=========================================
#ifndef NOFLATSBAPIS #ifndef NOFLATSBAPIS
#define WSB_PROP_CYVSCROLL 0x00000001L #define WSB_PROP_CYVSCROLL 0x00000001L
#define WSB_PROP_CXHSCROLL 0x00000002L #define WSB_PROP_CXHSCROLL 0x00000002L
#define WSB_PROP_CYHSCROLL 0x00000004L #define WSB_PROP_CYHSCROLL 0x00000004L
#define WSB_PROP_CXVSCROLL 0x00000008L #define WSB_PROP_CXVSCROLL 0x00000008L
#define WSB_PROP_CXHTHUMB 0x00000010L #define WSB_PROP_CXHTHUMB 0x00000010L
#define WSB_PROP_CYVTHUMB 0x00000020L #define WSB_PROP_CYVTHUMB 0x00000020L
#define WSB_PROP_VBKGCOLOR 0x00000040L #define WSB_PROP_VBKGCOLOR 0x00000040L
skipping to change at line 8386 skipping to change at line 7784
WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollRange(HWND, int code, int min, int max , BOOL fRedraw); WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollRange(HWND, int code, int min, int max , BOOL fRedraw);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_SetScrollProp(HWND, UINT index, INT_PTR newVal ue, BOOL); WINCOMMCTRLAPI BOOL WINAPI FlatSB_SetScrollProp(HWND, UINT index, INT_PTR newVal ue, BOOL);
#define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp #define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
WINCOMMCTRLAPI BOOL WINAPI InitializeFlatSB(HWND); WINCOMMCTRLAPI BOOL WINAPI InitializeFlatSB(HWND);
WINCOMMCTRLAPI HRESULT WINAPI UninitializeFlatSB(HWND); WINCOMMCTRLAPI HRESULT WINAPI UninitializeFlatSB(HWND);
#endif // NOFLATSBAPIS #endif // NOFLATSBAPIS
#endif // _WIN32_IE >= 0x0400
#endif /* _WIN32 */ #endif /* _WIN32 */
#endif // _WIN32_IE >= 0x0300 #if (NTDDI_VERSION >= NTDDI_WINXP)
#if (_WIN32_WINNT >= 0x0501)
// //
// subclassing stuff // subclassing stuff
// //
typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam, typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam,
LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData); LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData);
BOOL WINAPI SetWindowSubclass(__in HWND hWnd, __in SUBCLASSPROC pfnSubclass, __i _Success_(return) BOOL WINAPI SetWindowSubclass(_In_ HWND hWnd, _In_ SUBCLASSPRO
n UINT_PTR uIdSubclass, C pfnSubclass, _In_ UINT_PTR uIdSubclass,
__in DWORD_PTR dwRefData); _In_ DWORD_PTR dwRefData);
BOOL WINAPI GetWindowSubclass(__in HWND hWnd, __in SUBCLASSPROC pfnSubclass, __i _Success_(return) BOOL WINAPI GetWindowSubclass(_In_ HWND hWnd, _In_ SUBCLASSPRO
n UINT_PTR uIdSubclass, C pfnSubclass, _In_ UINT_PTR uIdSubclass,
__out_opt DWORD_PTR *pdwRefData); _Out_opt_ DWORD_PTR *pdwRefData);
BOOL WINAPI RemoveWindowSubclass(__in HWND hWnd, __in SUBCLASSPROC pfnSubclass, _Success_(return) BOOL WINAPI RemoveWindowSubclass(_In_ HWND hWnd, _In_ SUBCLASS
__in UINT_PTR uIdSubclass); PROC pfnSubclass,
_In_ UINT_PTR uIdSubclass);
LRESULT WINAPI DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara m); LRESULT WINAPI DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara m);
#endif #endif
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
enum _LI_METRIC enum _LI_METRIC
{ {
LIM_SMALL, // corresponds to SM_CXSMICON/SM_CYSMICON LIM_SMALL, // corresponds to SM_CXSMICON/SM_CYSMICON
LIM_LARGE, // corresponds to SM_CXICON/SM_CYICON LIM_LARGE, // corresponds to SM_CXICON/SM_CYICON
}; };
WINCOMMCTRLAPI HRESULT WINAPI LoadIconMetric(HINSTANCE hinst, PCWSTR pszName, in WINCOMMCTRLAPI HRESULT WINAPI LoadIconMetric(HINSTANCE hinst, PCWSTR pszName, in
t lims, __out HICON *phico); t lims, _Out_ HICON *phico);
WINCOMMCTRLAPI HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE hinst, PCWSTR pszN WINCOMMCTRLAPI HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE hinst, PCWSTR pszN
ame, int cx, int cy, __out HICON *phico); ame, int cx, int cy, _Out_ HICON *phico);
#endif // NTDDI_VISTA #endif // NTDDI_VISTA
#if (_WIN32_WINNT >= 0x0501) #if (NTDDI_VERSION >= NTDDI_WINXP)
int WINAPI DrawShadowText(__in HDC hdc, __in_ecount(cch) LPCWSTR pszText, __in U int WINAPI DrawShadowText(_In_ HDC hdc, _In_reads_(cch) LPCWSTR pszText, _In_ UI
INT cch, __in RECT* prc, __in DWORD dwFlags, __in COLORREF crText, __in COLORREF NT cch, _In_ RECT* prc, _In_ DWORD dwFlags, _In_ COLORREF crText, _In_ COLORREF
crShadow, crShadow,
__in int ixOffset, __in int iyOffset); _In_ int ixOffset, _In_ int iyOffset);
#endif #endif
#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0) #if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
#include "commctrl.inl" #include "commctrl.inl"
#endif /* ISOLATION_AWARE_ENABLED */ #endif /* ISOLATION_AWARE_ENABLED */
#endif /* RC */ #endif /* RC */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
#if defined(_MSC_VER) && (_MSC_VER >= 1200) #if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop) #pragma warning(pop)
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* _INC_COMMCTRL */ #endif /* _INC_COMMCTRL */
 End of changes. 554 change blocks. 
914 lines changed or deleted 319 lines changed or added


 prsht.h (5.82-Windows_7.0)   prsht.h (5.82-Windows_8.1) 
#include <winapifamily.h>
/*****************************************************************************\ /*****************************************************************************\
* * * *
* prsht.h - - Interface for the Windows Property Sheet Pages * * prsht.h - - Interface for the Windows Property Sheet Pages *
* * * *
* Version 1.0 * * Version 1.0 *
* * * *
* Copyright (c) Microsoft Corporation. All rights reserved. * * Copyright (c) Microsoft Corporation. All rights reserved. *
* * * *
\*****************************************************************************/ \*****************************************************************************/
skipping to change at line 60 skipping to change at line 61
#ifdef _WIN64 #ifdef _WIN64
#include <pshpack8.h> #include <pshpack8.h>
#else #else
#include <pshpack4.h> #include <pshpack4.h>
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifndef SNDMSG #ifndef SNDMSG
#ifdef __cplusplus #ifdef __cplusplus
#ifndef _MAC #ifndef _MAC
#define SNDMSG ::SendMessage #define SNDMSG ::SendMessage
#else #else
#define SNDMSG ::AfxSendMessage #define SNDMSG ::AfxSendMessage
#endif #endif
#else #else
#ifndef _MAC #ifndef _MAC
#define SNDMSG SendMessage #define SNDMSG SendMessage
skipping to change at line 115 skipping to change at line 119
#define PSP_USEHICON 0x00000002 #define PSP_USEHICON 0x00000002
#define PSP_USEICONID 0x00000004 #define PSP_USEICONID 0x00000004
#define PSP_USETITLE 0x00000008 #define PSP_USETITLE 0x00000008
#define PSP_RTLREADING 0x00000010 #define PSP_RTLREADING 0x00000010
#define PSP_HASHELP 0x00000020 #define PSP_HASHELP 0x00000020
#define PSP_USEREFPARENT 0x00000040 #define PSP_USEREFPARENT 0x00000040
#define PSP_USECALLBACK 0x00000080 #define PSP_USECALLBACK 0x00000080
#define PSP_PREMATURE 0x00000400 #define PSP_PREMATURE 0x00000400
#if (_WIN32_IE >= 0x0400)
//----- New flags for wizard97 -------------- //----- New flags for wizard97 --------------
#define PSP_HIDEHEADER 0x00000800 #define PSP_HIDEHEADER 0x00000800
#define PSP_USEHEADERTITLE 0x00001000 #define PSP_USEHEADERTITLE 0x00001000
#define PSP_USEHEADERSUBTITLE 0x00002000 #define PSP_USEHEADERSUBTITLE 0x00002000
//------------------------------------------- //-------------------------------------------
#endif #if (NTDDI_VERSION >= NTDDI_WINXP) || ISOLATION_AWARE_ENABLED
#if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED
#define PSP_USEFUSIONCONTEXT 0x00004000 #define PSP_USEFUSIONCONTEXT 0x00004000
#endif #endif
#if (_WIN32_IE >= 0x0500)
#define PSPCB_ADDREF 0 #define PSPCB_ADDREF 0
#endif
#define PSPCB_RELEASE 1 #define PSPCB_RELEASE 1
#define PSPCB_CREATE 2 #define PSPCB_CREATE 2
#ifdef _WIN32 #ifdef _WIN32
typedef LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE; typedef LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE;
#else #else
typedef const VOID* PROPSHEETPAGE_RESOURCE; typedef const VOID* PROPSHEETPAGE_RESOURCE;
#endif #endif
#define PROPSHEETPAGEA_V1_FIELDS \ #define PROPSHEETPAGEA_V1_FIELDS \
skipping to change at line 178 skipping to change at line 178
{ \ { \
HICON hIcon; \ HICON hIcon; \
LPCWSTR pszIcon; \ LPCWSTR pszIcon; \
} DUMMYUNIONNAME2; \ } DUMMYUNIONNAME2; \
LPCWSTR pszTitle; \ LPCWSTR pszTitle; \
DLGPROC pfnDlgProc; \ DLGPROC pfnDlgProc; \
LPARAM lParam; \ LPARAM lParam; \
LPFNPSPCALLBACKW pfnCallback; \ LPFNPSPCALLBACKW pfnCallback; \
UINT *pcRefParent; \ UINT *pcRefParent; \
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define _PROPSHEETPAGEA_V4 _PROPSHEETPAGEA #define _PROPSHEETPAGEA_V4 _PROPSHEETPAGEA
#define _PROPSHEETPAGEW_V4 _PROPSHEETPAGEW #define _PROPSHEETPAGEW_V4 _PROPSHEETPAGEW
#elif (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED #elif (NTDDI_VERSION >= NTDDI_WINXP) || ISOLATION_AWARE_ENABLED
#define _PROPSHEETPAGEA_V3 _PROPSHEETPAGEA #define _PROPSHEETPAGEA_V3 _PROPSHEETPAGEA
#define _PROPSHEETPAGEW_V3 _PROPSHEETPAGEW #define _PROPSHEETPAGEW_V3 _PROPSHEETPAGEW
#elif (_WIN32_IE >= 0x0400) #else
#define _PROPSHEETPAGEA_V2 _PROPSHEETPAGEA #define _PROPSHEETPAGEA_V2 _PROPSHEETPAGEA
#define _PROPSHEETPAGEW_V2 _PROPSHEETPAGEW #define _PROPSHEETPAGEW_V2 _PROPSHEETPAGEW
#else
#define _PROPSHEETPAGEA_V1 _PROPSHEETPAGEA
#define _PROPSHEETPAGEW_V1 _PROPSHEETPAGEW
#endif #endif
typedef struct _PROPSHEETPAGEA_V1 typedef struct _PROPSHEETPAGEA_V1
{ {
PROPSHEETPAGEA_V1_FIELDS PROPSHEETPAGEA_V1_FIELDS
} PROPSHEETPAGEA_V1, *LPPROPSHEETPAGEA_V1; } PROPSHEETPAGEA_V1, *LPPROPSHEETPAGEA_V1;
typedef const PROPSHEETPAGEA_V1 *LPCPROPSHEETPAGEA_V1; typedef const PROPSHEETPAGEA_V1 *LPCPROPSHEETPAGEA_V1;
typedef struct _PROPSHEETPAGEA_V2 typedef struct _PROPSHEETPAGEA_V2
{ {
skipping to change at line 218 skipping to change at line 215
{ {
PROPSHEETPAGEA_V1_FIELDS PROPSHEETPAGEA_V1_FIELDS
LPCSTR pszHeaderTitle; // this is displayed in the header LPCSTR pszHeaderTitle; // this is displayed in the header
LPCSTR pszHeaderSubTitle; // LPCSTR pszHeaderSubTitle; //
HANDLE hActCtx; HANDLE hActCtx;
} PROPSHEETPAGEA_V3, *LPPROPSHEETPAGEA_V3; } PROPSHEETPAGEA_V3, *LPPROPSHEETPAGEA_V3;
typedef const PROPSHEETPAGEA_V3 *LPCPROPSHEETPAGEA_V3; typedef const PROPSHEETPAGEA_V3 *LPCPROPSHEETPAGEA_V3;
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
typedef struct _PROPSHEETPAGEA_V4 typedef struct _PROPSHEETPAGEA_V4
{ {
PROPSHEETPAGEA_V1_FIELDS PROPSHEETPAGEA_V1_FIELDS
LPCSTR pszHeaderTitle; // this is displayed in the header LPCSTR pszHeaderTitle; // this is displayed in the header
LPCSTR pszHeaderSubTitle; // LPCSTR pszHeaderSubTitle; //
HANDLE hActCtx; HANDLE hActCtx;
union union
skipping to change at line 264 skipping to change at line 261
{ {
PROPSHEETPAGEW_V1_FIELDS PROPSHEETPAGEW_V1_FIELDS
LPCWSTR pszHeaderTitle; // this is displayed in the header LPCWSTR pszHeaderTitle; // this is displayed in the header
LPCWSTR pszHeaderSubTitle; // LPCWSTR pszHeaderSubTitle; //
HANDLE hActCtx; HANDLE hActCtx;
} PROPSHEETPAGEW_V3, *LPPROPSHEETPAGEW_V3; } PROPSHEETPAGEW_V3, *LPPROPSHEETPAGEW_V3;
typedef const PROPSHEETPAGEW_V3 *LPCPROPSHEETPAGEW_V3; typedef const PROPSHEETPAGEW_V3 *LPCPROPSHEETPAGEW_V3;
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
typedef struct _PROPSHEETPAGEW_V4 typedef struct _PROPSHEETPAGEW_V4
{ {
PROPSHEETPAGEW_V1_FIELDS PROPSHEETPAGEW_V1_FIELDS
LPCWSTR pszHeaderTitle; // this is displayed in the header LPCWSTR pszHeaderTitle; // this is displayed in the header
LPCWSTR pszHeaderSubTitle; // LPCWSTR pszHeaderSubTitle; //
HANDLE hActCtx; HANDLE hActCtx;
union union
skipping to change at line 293 skipping to change at line 290
#define PROPSHEETPAGEA_V1_SIZE sizeof(PROPSHEETPAGEA_V1) #define PROPSHEETPAGEA_V1_SIZE sizeof(PROPSHEETPAGEA_V1)
#define PROPSHEETPAGEW_V1_SIZE sizeof(PROPSHEETPAGEW_V1) #define PROPSHEETPAGEW_V1_SIZE sizeof(PROPSHEETPAGEW_V1)
#define PROPSHEETPAGEA_V2_SIZE sizeof(PROPSHEETPAGEA_V2) #define PROPSHEETPAGEA_V2_SIZE sizeof(PROPSHEETPAGEA_V2)
#define PROPSHEETPAGEW_V2_SIZE sizeof(PROPSHEETPAGEW_V2) #define PROPSHEETPAGEW_V2_SIZE sizeof(PROPSHEETPAGEW_V2)
#define PROPSHEETPAGEA_V3_SIZE sizeof(PROPSHEETPAGEA_V3) #define PROPSHEETPAGEA_V3_SIZE sizeof(PROPSHEETPAGEA_V3)
#define PROPSHEETPAGEW_V3_SIZE sizeof(PROPSHEETPAGEW_V3) #define PROPSHEETPAGEW_V3_SIZE sizeof(PROPSHEETPAGEW_V3)
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define PROPSHEETPAGEA_V4_SIZE sizeof(PROPSHEETPAGEA_V4) #define PROPSHEETPAGEA_V4_SIZE sizeof(PROPSHEETPAGEA_V4)
#define PROPSHEETPAGEW_V4_SIZE sizeof(PROPSHEETPAGEW_V4) #define PROPSHEETPAGEW_V4_SIZE sizeof(PROPSHEETPAGEW_V4)
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
typedef PROPSHEETPAGEA_V4 PROPSHEETPAGEA_LATEST; typedef PROPSHEETPAGEA_V4 PROPSHEETPAGEA_LATEST;
typedef PROPSHEETPAGEW_V4 PROPSHEETPAGEW_LATEST; typedef PROPSHEETPAGEW_V4 PROPSHEETPAGEW_LATEST;
typedef LPPROPSHEETPAGEA_V4 LPPROPSHEETPAGEA_LATEST; typedef LPPROPSHEETPAGEA_V4 LPPROPSHEETPAGEA_LATEST;
typedef LPPROPSHEETPAGEW_V4 LPPROPSHEETPAGEW_LATEST; typedef LPPROPSHEETPAGEW_V4 LPPROPSHEETPAGEW_LATEST;
typedef LPCPROPSHEETPAGEA_V4 LPCPROPSHEETPAGEA_LATEST; typedef LPCPROPSHEETPAGEA_V4 LPCPROPSHEETPAGEA_LATEST;
typedef LPCPROPSHEETPAGEW_V4 LPCPROPSHEETPAGEW_LATEST; typedef LPCPROPSHEETPAGEW_V4 LPCPROPSHEETPAGEW_LATEST;
#else #else
typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST; typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST;
typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST; typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST;
typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST; typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST;
typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST; typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST;
typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST; typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST;
typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST; typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST;
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
typedef PROPSHEETPAGEA_V4 PROPSHEETPAGEA; typedef PROPSHEETPAGEA_V4 PROPSHEETPAGEA;
typedef PROPSHEETPAGEW_V4 PROPSHEETPAGEW; typedef PROPSHEETPAGEW_V4 PROPSHEETPAGEW;
typedef LPPROPSHEETPAGEA_V4 LPPROPSHEETPAGEA; typedef LPPROPSHEETPAGEA_V4 LPPROPSHEETPAGEA;
typedef LPPROPSHEETPAGEW_V4 LPPROPSHEETPAGEW; typedef LPPROPSHEETPAGEW_V4 LPPROPSHEETPAGEW;
typedef LPCPROPSHEETPAGEA_V4 LPCPROPSHEETPAGEA; typedef LPCPROPSHEETPAGEA_V4 LPCPROPSHEETPAGEA;
typedef LPCPROPSHEETPAGEW_V4 LPCPROPSHEETPAGEW; typedef LPCPROPSHEETPAGEW_V4 LPCPROPSHEETPAGEW;
#elif (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED #elif (NTDDI_VERSION >= NTDDI_WINXP) || ISOLATION_AWARE_ENABLED
typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA; typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA;
typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW; typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW;
typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA; typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA;
typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW; typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW;
typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA; typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA;
typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW; typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW;
#elif (_WIN32_IE >= 0x0400) #else
typedef PROPSHEETPAGEA_V2 PROPSHEETPAGEA; typedef PROPSHEETPAGEA_V2 PROPSHEETPAGEA;
typedef PROPSHEETPAGEW_V2 PROPSHEETPAGEW; typedef PROPSHEETPAGEW_V2 PROPSHEETPAGEW;
typedef LPPROPSHEETPAGEA_V2 LPPROPSHEETPAGEA; typedef LPPROPSHEETPAGEA_V2 LPPROPSHEETPAGEA;
typedef LPPROPSHEETPAGEW_V2 LPPROPSHEETPAGEW; typedef LPPROPSHEETPAGEW_V2 LPPROPSHEETPAGEW;
typedef LPCPROPSHEETPAGEA_V2 LPCPROPSHEETPAGEA; typedef LPCPROPSHEETPAGEA_V2 LPCPROPSHEETPAGEA;
typedef LPCPROPSHEETPAGEW_V2 LPCPROPSHEETPAGEW; typedef LPCPROPSHEETPAGEW_V2 LPCPROPSHEETPAGEW;
#else
typedef PROPSHEETPAGEA_V1 PROPSHEETPAGEA;
typedef PROPSHEETPAGEW_V1 PROPSHEETPAGEW;
typedef LPPROPSHEETPAGEA_V1 LPPROPSHEETPAGEA;
typedef LPPROPSHEETPAGEW_V1 LPPROPSHEETPAGEW;
typedef LPCPROPSHEETPAGEA_V1 LPCPROPSHEETPAGEA;
typedef LPCPROPSHEETPAGEW_V1 LPCPROPSHEETPAGEW;
#endif #endif
#ifdef UNICODE #ifdef UNICODE
#define PROPSHEETPAGE PROPSHEETPAGEW #define PROPSHEETPAGE PROPSHEETPAGEW
#define LPPROPSHEETPAGE LPPROPSHEETPAGEW #define LPPROPSHEETPAGE LPPROPSHEETPAGEW
#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW #define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW
#define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEW_V1_SIZE #define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEW_V1_SIZE
#define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEW_V2_SIZE #define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEW_V2_SIZE
#define PROPSHEETPAGE_V1 PROPSHEETPAGEW_V1 #define PROPSHEETPAGE_V1 PROPSHEETPAGEW_V1
#define LPPROPSHEETPAGE_V1 LPPROPSHEETPAGEW_V1 #define LPPROPSHEETPAGE_V1 LPPROPSHEETPAGEW_V1
#define LPCPROPSHEETPAGE_V1 LPCPROPSHEETPAGEW_V1 #define LPCPROPSHEETPAGE_V1 LPCPROPSHEETPAGEW_V1
#define PROPSHEETPAGE_V2 PROPSHEETPAGEW_V2 #define PROPSHEETPAGE_V2 PROPSHEETPAGEW_V2
#define LPPROPSHEETPAGE_V2 LPPROPSHEETPAGEW_V2 #define LPPROPSHEETPAGE_V2 LPPROPSHEETPAGEW_V2
#define LPCPROPSHEETPAGE_V2 LPCPROPSHEETPAGEW_V2 #define LPCPROPSHEETPAGE_V2 LPCPROPSHEETPAGEW_V2
#define PROPSHEETPAGE_V3 PROPSHEETPAGEW_V3 #define PROPSHEETPAGE_V3 PROPSHEETPAGEW_V3
#define LPPROPSHEETPAGE_V3 LPPROPSHEETPAGEW_V3 #define LPPROPSHEETPAGE_V3 LPPROPSHEETPAGEW_V3
#define LPCPROPSHEETPAGE_V3 LPCPROPSHEETPAGEW_V3 #define LPCPROPSHEETPAGE_V3 LPCPROPSHEETPAGEW_V3
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define PROPSHEETPAGE_V4 PROPSHEETPAGEW_V4 #define PROPSHEETPAGE_V4 PROPSHEETPAGEW_V4
#define LPPROPSHEETPAGE_V4 LPPROPSHEETPAGEW_V4 #define LPPROPSHEETPAGE_V4 LPPROPSHEETPAGEW_V4
#define LPCPROPSHEETPAGE_V4 LPCPROPSHEETPAGEW_V4 #define LPCPROPSHEETPAGE_V4 LPCPROPSHEETPAGEW_V4
#endif #endif
#define PROPSHEETPAGE_LATEST PROPSHEETPAGEW_LATEST #define PROPSHEETPAGE_LATEST PROPSHEETPAGEW_LATEST
#define LPPROPSHEETPAGE_LATEST LPPROPSHEETPAGEW_LATEST #define LPPROPSHEETPAGE_LATEST LPPROPSHEETPAGEW_LATEST
#define LPCPROPSHEETPAGE_LATEST LPCPROPSHEETPAGEW_LATEST #define LPCPROPSHEETPAGE_LATEST LPCPROPSHEETPAGEW_LATEST
#else #else
#define PROPSHEETPAGE PROPSHEETPAGEA #define PROPSHEETPAGE PROPSHEETPAGEA
#define LPPROPSHEETPAGE LPPROPSHEETPAGEA #define LPPROPSHEETPAGE LPPROPSHEETPAGEA
skipping to change at line 382 skipping to change at line 372
#define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEA_V2_SIZE #define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEA_V2_SIZE
#define PROPSHEETPAGE_V1 PROPSHEETPAGEA_V1 #define PROPSHEETPAGE_V1 PROPSHEETPAGEA_V1
#define LPPROPSHEETPAGE_V1 LPPROPSHEETPAGEA_V1 #define LPPROPSHEETPAGE_V1 LPPROPSHEETPAGEA_V1
#define LPCPROPSHEETPAGE_V1 LPCPROPSHEETPAGEA_V1 #define LPCPROPSHEETPAGE_V1 LPCPROPSHEETPAGEA_V1
#define PROPSHEETPAGE_V2 PROPSHEETPAGEA_V2 #define PROPSHEETPAGE_V2 PROPSHEETPAGEA_V2
#define LPPROPSHEETPAGE_V2 LPPROPSHEETPAGEA_V2 #define LPPROPSHEETPAGE_V2 LPPROPSHEETPAGEA_V2
#define LPCPROPSHEETPAGE_V2 LPCPROPSHEETPAGEA_V2 #define LPCPROPSHEETPAGE_V2 LPCPROPSHEETPAGEA_V2
#define PROPSHEETPAGE_V3 PROPSHEETPAGEA_V3 #define PROPSHEETPAGE_V3 PROPSHEETPAGEA_V3
#define LPPROPSHEETPAGE_V3 LPPROPSHEETPAGEA_V3 #define LPPROPSHEETPAGE_V3 LPPROPSHEETPAGEA_V3
#define LPCPROPSHEETPAGE_V3 LPCPROPSHEETPAGEA_V3 #define LPCPROPSHEETPAGE_V3 LPCPROPSHEETPAGEA_V3
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define PROPSHEETPAGE_V4 PROPSHEETPAGEA_V4 #define PROPSHEETPAGE_V4 PROPSHEETPAGEA_V4
#define LPPROPSHEETPAGE_V4 LPPROPSHEETPAGEA_V4 #define LPPROPSHEETPAGE_V4 LPPROPSHEETPAGEA_V4
#define LPCPROPSHEETPAGE_V4 LPCPROPSHEETPAGEA_V4 #define LPCPROPSHEETPAGE_V4 LPCPROPSHEETPAGEA_V4
#endif #endif
#define PROPSHEETPAGE_LATEST PROPSHEETPAGEA_LATEST #define PROPSHEETPAGE_LATEST PROPSHEETPAGEA_LATEST
#define LPPROPSHEETPAGE_LATEST LPPROPSHEETPAGEA_LATEST #define LPPROPSHEETPAGE_LATEST LPPROPSHEETPAGEA_LATEST
#define LPCPROPSHEETPAGE_LATEST LPCPROPSHEETPAGEA_LATEST #define LPCPROPSHEETPAGE_LATEST LPCPROPSHEETPAGEA_LATEST
#endif #endif
//----- PropSheet Header related --------- //----- PropSheet Header related ---------
skipping to change at line 412 skipping to change at line 402
#define PSH_USEPSTARTPAGE 0x00000040 #define PSH_USEPSTARTPAGE 0x00000040
#define PSH_NOAPPLYNOW 0x00000080 #define PSH_NOAPPLYNOW 0x00000080
#define PSH_USECALLBACK 0x00000100 #define PSH_USECALLBACK 0x00000100
#define PSH_HASHELP 0x00000200 #define PSH_HASHELP 0x00000200
#define PSH_MODELESS 0x00000400 #define PSH_MODELESS 0x00000400
#define PSH_RTLREADING 0x00000800 #define PSH_RTLREADING 0x00000800
#define PSH_WIZARDCONTEXTHELP 0x00001000 #define PSH_WIZARDCONTEXTHELP 0x00001000
#if (_WIN32_IE >= 0x0400)
//----- New flags for wizard97 ----------- //----- New flags for wizard97 -----------
#if (_WIN32_IE < 0x0500) #if (_WIN32_IE < 0x0500)
#define PSH_WIZARD97 0x00002000 #define PSH_WIZARD97 0x00002000
#else #else
#define PSH_WIZARD97 0x01000000 #define PSH_WIZARD97 0x01000000
#endif #endif
#define PSH_WATERMARK 0x00008000 #define PSH_WATERMARK 0x00008000
#define PSH_USEHBMWATERMARK 0x00010000 // user pass in a hbmWatermark inste ad of pszbmWatermark #define PSH_USEHBMWATERMARK 0x00010000 // user pass in a hbmWatermark inste ad of pszbmWatermark
#define PSH_USEHPLWATERMARK 0x00020000 // #define PSH_USEHPLWATERMARK 0x00020000 //
#define PSH_STRETCHWATERMARK 0x00040000 // stretchwatermark also applies for the header #define PSH_STRETCHWATERMARK 0x00040000 // stretchwatermark also applies for the header
#define PSH_HEADER 0x00080000 #define PSH_HEADER 0x00080000
#define PSH_USEHBMHEADER 0x00100000 #define PSH_USEHBMHEADER 0x00100000
#define PSH_USEPAGELANG 0x00200000 // use frame dialog template matched to page #define PSH_USEPAGELANG 0x00200000 // use frame dialog template matched to page
//---------------------------------------- //----------------------------------------
#endif
#if (_WIN32_IE >= 0x0500)
//----- New flags for wizard-lite -------- //----- New flags for wizard-lite --------
#define PSH_WIZARD_LITE 0x00400000 #define PSH_WIZARD_LITE 0x00400000
#define PSH_NOCONTEXTHELP 0x02000000 #define PSH_NOCONTEXTHELP 0x02000000
//---------------------------------------- //----------------------------------------
#endif
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
#define PSH_AEROWIZARD 0x00004000 #define PSH_AEROWIZARD 0x00004000
#define PSH_RESIZABLE 0x04000000 #define PSH_RESIZABLE 0x04000000
#define PSH_HEADERBITMAP 0x08000000 #define PSH_HEADERBITMAP 0x08000000
#define PSH_NOMARGIN 0x10000000 #define PSH_NOMARGIN 0x10000000
#endif #endif
typedef int (CALLBACK *PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM); typedef int (CALLBACK *PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM);
#define PROPSHEETHEADERA_V1_FIELDS \ #define PROPSHEETHEADERA_V1_FIELDS \
skipping to change at line 478 skipping to change at line 464
HPROPSHEETPAGE *phpage; \ HPROPSHEETPAGE *phpage; \
} DUMMYUNIONNAME3; \ } DUMMYUNIONNAME3; \
PFNPROPSHEETCALLBACK pfnCallback; PFNPROPSHEETCALLBACK pfnCallback;
typedef struct _PROPSHEETHEADERA_V1 typedef struct _PROPSHEETHEADERA_V1
{ {
PROPSHEETHEADERA_V1_FIELDS PROPSHEETHEADERA_V1_FIELDS
} PROPSHEETHEADERA_V1, *LPPROPSHEETHEADERA_V1; } PROPSHEETHEADERA_V1, *LPPROPSHEETHEADERA_V1;
typedef const PROPSHEETHEADERA_V1 *LPCPROPSHEETHEADERA_V1; typedef const PROPSHEETHEADERA_V1 *LPCPROPSHEETHEADERA_V1;
#if (_WIN32_IE >= 0x0400)
typedef struct _PROPSHEETHEADERA_V2 typedef struct _PROPSHEETHEADERA_V2
{ {
PROPSHEETHEADERA_V1_FIELDS PROPSHEETHEADERA_V1_FIELDS
union union
{ {
HBITMAP hbmWatermark; HBITMAP hbmWatermark;
LPCSTR pszbmWatermark; LPCSTR pszbmWatermark;
} DUMMYUNIONNAME4; } DUMMYUNIONNAME4;
HPALETTE hplWatermark; HPALETTE hplWatermark;
union union
{ {
HBITMAP hbmHeader; // Header bitmap shares the palette with waterma rk HBITMAP hbmHeader; // Header bitmap shares the palette with waterma rk
LPCSTR pszbmHeader; LPCSTR pszbmHeader;
} DUMMYUNIONNAME5; } DUMMYUNIONNAME5;
} PROPSHEETHEADERA_V2, *LPPROPSHEETHEADERA_V2; } PROPSHEETHEADERA_V2, *LPPROPSHEETHEADERA_V2;
typedef const PROPSHEETHEADERA_V2 *LPCPROPSHEETHEADERA_V2; typedef const PROPSHEETHEADERA_V2 *LPCPROPSHEETHEADERA_V2;
#endif
#define PROPSHEETHEADERW_V1_FIELDS \ #define PROPSHEETHEADERW_V1_FIELDS \
DWORD dwSize; \ DWORD dwSize; \
DWORD dwFlags; \ DWORD dwFlags; \
HWND hwndParent; \ HWND hwndParent; \
HINSTANCE hInstance; \ HINSTANCE hInstance; \
union \ union \
{ \ { \
HICON hIcon; \ HICON hIcon; \
LPCWSTR pszIcon; \ LPCWSTR pszIcon; \
skipping to change at line 527 skipping to change at line 511
HPROPSHEETPAGE *phpage; \ HPROPSHEETPAGE *phpage; \
} DUMMYUNIONNAME3; \ } DUMMYUNIONNAME3; \
PFNPROPSHEETCALLBACK pfnCallback; PFNPROPSHEETCALLBACK pfnCallback;
typedef struct _PROPSHEETHEADERW_V1 typedef struct _PROPSHEETHEADERW_V1
{ {
PROPSHEETHEADERW_V1_FIELDS PROPSHEETHEADERW_V1_FIELDS
} PROPSHEETHEADERW_V1, *LPPROPSHEETHEADERW_V1; } PROPSHEETHEADERW_V1, *LPPROPSHEETHEADERW_V1;
typedef const PROPSHEETHEADERW_V1 *LPCPROPSHEETHEADERW_V1; typedef const PROPSHEETHEADERW_V1 *LPCPROPSHEETHEADERW_V1;
#if (_WIN32_IE >= 0x0400)
typedef struct _PROPSHEETHEADERW_V2 typedef struct _PROPSHEETHEADERW_V2
{ {
PROPSHEETHEADERW_V1_FIELDS PROPSHEETHEADERW_V1_FIELDS
union union
{ {
HBITMAP hbmWatermark; HBITMAP hbmWatermark;
LPCWSTR pszbmWatermark; LPCWSTR pszbmWatermark;
} DUMMYUNIONNAME4; } DUMMYUNIONNAME4;
HPALETTE hplWatermark; HPALETTE hplWatermark;
union union
{ {
HBITMAP hbmHeader; // Header bitmap shares the palette with waterma rk HBITMAP hbmHeader; // Header bitmap shares the palette with waterma rk
LPCWSTR pszbmHeader; LPCWSTR pszbmHeader;
} DUMMYUNIONNAME5; } DUMMYUNIONNAME5;
} PROPSHEETHEADERW_V2, *LPPROPSHEETHEADERW_V2; } PROPSHEETHEADERW_V2, *LPPROPSHEETHEADERW_V2;
typedef const PROPSHEETHEADERW_V2 *LPCPROPSHEETHEADERW_V2; typedef const PROPSHEETHEADERW_V2 *LPCPROPSHEETHEADERW_V2;
#endif
#define PROPSHEETHEADERA_V1_SIZE sizeof(PROPSHEETHEADERA_V1) #define PROPSHEETHEADERA_V1_SIZE sizeof(PROPSHEETHEADERA_V1)
#define PROPSHEETHEADERW_V1_SIZE sizeof(PROPSHEETHEADERW_V1) #define PROPSHEETHEADERW_V1_SIZE sizeof(PROPSHEETHEADERW_V1)
#if (_WIN32_IE >= 0x400)
#define PROPSHEETHEADERA_V2_SIZE sizeof(PROPSHEETHEADERA_V2) #define PROPSHEETHEADERA_V2_SIZE sizeof(PROPSHEETHEADERA_V2)
#define PROPSHEETHEADERW_V2_SIZE sizeof(PROPSHEETHEADERW_V2) #define PROPSHEETHEADERW_V2_SIZE sizeof(PROPSHEETHEADERW_V2)
#endif
#if (_WIN32_IE >= 0x400)
#define _PROPSHEETHEADERA PROPSHEETHEADERA_V2; #define _PROPSHEETHEADERA PROPSHEETHEADERA_V2;
#define _PROPSHEETHEADERW PROPSHEETHEADERW_V2; #define _PROPSHEETHEADERW PROPSHEETHEADERW_V2;
typedef PROPSHEETHEADERA_V2 PROPSHEETHEADERA; typedef PROPSHEETHEADERA_V2 PROPSHEETHEADERA;
typedef PROPSHEETHEADERW_V2 PROPSHEETHEADERW; typedef PROPSHEETHEADERW_V2 PROPSHEETHEADERW;
typedef LPPROPSHEETHEADERA_V2 LPPROPSHEETHEADERA; typedef LPPROPSHEETHEADERA_V2 LPPROPSHEETHEADERA;
typedef LPPROPSHEETHEADERW_V2 LPPROPSHEETHEADERW; typedef LPPROPSHEETHEADERW_V2 LPPROPSHEETHEADERW;
typedef LPCPROPSHEETHEADERA_V2 LPCPROPSHEETHEADERA; typedef LPCPROPSHEETHEADERA_V2 LPCPROPSHEETHEADERA;
typedef LPCPROPSHEETHEADERW_V2 LPCPROPSHEETHEADERW; typedef LPCPROPSHEETHEADERW_V2 LPCPROPSHEETHEADERW;
#else
#define _PROPSHEETHEADERA PROPSHEETHEADERA_V1;
#define _PROPSHEETHEADERW PROPSHEETHEADERW_V1;
typedef PROPSHEETHEADERA_V1 PROPSHEETHEADERA;
typedef PROPSHEETHEADERW_V1 PROPSHEETHEADERW;
typedef LPPROPSHEETHEADERA_V1 LPPROPSHEETHEADERA;
typedef LPPROPSHEETHEADERW_V1 LPPROPSHEETHEADERW;
typedef LPCPROPSHEETHEADERA_V1 LPCPROPSHEETHEADERA;
typedef LPCPROPSHEETHEADERW_V1 LPCPROPSHEETHEADERW;
#endif
#ifdef UNICODE #ifdef UNICODE
#define PROPSHEETHEADER PROPSHEETHEADERW #define PROPSHEETHEADER PROPSHEETHEADERW
#define LPPROPSHEETHEADER LPPROPSHEETHEADERW #define LPPROPSHEETHEADER LPPROPSHEETHEADERW
#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW #define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW
#define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERW_V1_SIZE #define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERW_V1_SIZE
#if (_WIN32_IE >= 0x400)
#define PROPSHEETHEADER_V2_SIZE PROPSHEETHEADERW_V2_SIZE #define PROPSHEETHEADER_V2_SIZE PROPSHEETHEADERW_V2_SIZE
#endif
#else #else
#define PROPSHEETHEADER PROPSHEETHEADERA #define PROPSHEETHEADER PROPSHEETHEADERA
#define LPPROPSHEETHEADER LPPROPSHEETHEADERA #define LPPROPSHEETHEADER LPPROPSHEETHEADERA
#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA #define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA
#define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERA_V1_SIZE #define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERA_V1_SIZE
#if (_WIN32_IE >= 0x400)
#define PROPSHEETHEADER_V2_SIZE PROPSHEETHEADERA_V2_SIZE #define PROPSHEETHEADER_V2_SIZE PROPSHEETHEADERA_V2_SIZE
#endif #endif
#endif
#define PSCB_INITIALIZED 1 #define PSCB_INITIALIZED 1
#define PSCB_PRECREATE 2 #define PSCB_PRECREATE 2
#if (_WIN32_IE >= 0x560) #if (NTDDI_VERSION >= NTDDI_WINXP)
// PSCB_BUTTONPRESSED will be sent when the user clicks a button in the // PSCB_BUTTONPRESSED will be sent when the user clicks a button in the
// property dialog (OK, Cancel, Apply, or Close). The message will be sent // property dialog (OK, Cancel, Apply, or Close). The message will be sent
// to PROPSHEETHEADER's pfnCallback if the PSH_USECALLBACK flag was specified. // to PROPSHEETHEADER's pfnCallback if the PSH_USECALLBACK flag was specified.
// The LPARAM will be equal to one of the following based on the button pressed: // The LPARAM will be equal to one of the following based on the button pressed:
// This message is only supported on comctl32 v6. // This message is only supported on comctl32 v6.
// PSBTN_FINISH (Close), PSBTN_OK, PSBTN_APPLYNOW, or PSBTN_CANCEL // PSBTN_FINISH (Close), PSBTN_OK, PSBTN_APPLYNOW, or PSBTN_CANCEL
#define PSCB_BUTTONPRESSED 3 #define PSCB_BUTTONPRESSED 3
#endif // _WIN32_IE >= 0x560 #endif // NTDDI_VERSION >= NTDDI_WINXP
WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer); WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer);
WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer); WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer);
WINCOMMCTRLAPI BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE); WINCOMMCTRLAPI BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetA(LPCPROPSHEETHEADERA); WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW); WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
#ifdef UNICODE #ifdef UNICODE
skipping to change at line 645 skipping to change at line 610
#define PSN_KILLACTIVE (PSN_FIRST-1) #define PSN_KILLACTIVE (PSN_FIRST-1)
// #define PSN_VALIDATE (PSN_FIRST-1) // #define PSN_VALIDATE (PSN_FIRST-1)
#define PSN_APPLY (PSN_FIRST-2) #define PSN_APPLY (PSN_FIRST-2)
#define PSN_RESET (PSN_FIRST-3) #define PSN_RESET (PSN_FIRST-3)
// #define PSN_CANCEL (PSN_FIRST-3) // #define PSN_CANCEL (PSN_FIRST-3)
#define PSN_HELP (PSN_FIRST-5) #define PSN_HELP (PSN_FIRST-5)
#define PSN_WIZBACK (PSN_FIRST-6) #define PSN_WIZBACK (PSN_FIRST-6)
#define PSN_WIZNEXT (PSN_FIRST-7) #define PSN_WIZNEXT (PSN_FIRST-7)
#define PSN_WIZFINISH (PSN_FIRST-8) #define PSN_WIZFINISH (PSN_FIRST-8)
#define PSN_QUERYCANCEL (PSN_FIRST-9) #define PSN_QUERYCANCEL (PSN_FIRST-9)
#if (_WIN32_IE >= 0x0400)
#define PSN_GETOBJECT (PSN_FIRST-10) #define PSN_GETOBJECT (PSN_FIRST-10)
#endif // 0x0400
#if (_WIN32_IE >= 0x0500)
#define PSN_TRANSLATEACCELERATOR (PSN_FIRST-12) #define PSN_TRANSLATEACCELERATOR (PSN_FIRST-12)
#define PSN_QUERYINITIALFOCUS (PSN_FIRST-13) #define PSN_QUERYINITIALFOCUS (PSN_FIRST-13)
#endif // 0x0500
#define PSNRET_NOERROR 0 #define PSNRET_NOERROR 0
#define PSNRET_INVALID 1 #define PSNRET_INVALID 1
#define PSNRET_INVALID_NOCHANGEPAGE 2 #define PSNRET_INVALID_NOCHANGEPAGE 2
#define PSNRET_MESSAGEHANDLED 3 #define PSNRET_MESSAGEHANDLED 3
#define PSM_SETCURSEL (WM_USER + 101) #define PSM_SETCURSEL (WM_USER + 101)
#define PropSheet_SetCurSel(hDlg, hpage, index) \ #define PropSheet_SetCurSel(hDlg, hpage, index) \
SNDMSG(hDlg, PSM_SETCURSEL, (WPARAM)(index), (LPARAM)(hpage)) SNDMSG(hDlg, PSM_SETCURSEL, (WPARAM)(index), (LPARAM)(hpage))
#define PSM_REMOVEPAGE (WM_USER + 102) #define PSM_REMOVEPAGE (WM_USER + 102)
skipping to change at line 721 skipping to change at line 681
#define PropSheet_SetWizButtons(hDlg, dwFlags) \ #define PropSheet_SetWizButtons(hDlg, dwFlags) \
PostMessage(hDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)(dwFlags)) PostMessage(hDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)(dwFlags))
#define PSWIZB_BACK 0x00000001 #define PSWIZB_BACK 0x00000001
#define PSWIZB_NEXT 0x00000002 #define PSWIZB_NEXT 0x00000002
#define PSWIZB_FINISH 0x00000004 #define PSWIZB_FINISH 0x00000004
#define PSWIZB_DISABLEDFINISH 0x00000008 #define PSWIZB_DISABLEDFINISH 0x00000008
#define PSWIZBF_ELEVATIONREQUIRED 0x00000001 #define PSWIZBF_ELEVATIONREQUIRED 0x00000001
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
// Only for PSH_AEROWIZARD - used in PSM_SHOWWIZBUTTONS // Only for PSH_AEROWIZARD - used in PSM_SHOWWIZBUTTONS
#define PSWIZB_CANCEL 0x00000010 #define PSWIZB_CANCEL 0x00000010
#endif // 0x0605 #endif // 0x0605
#define PSM_PRESSBUTTON (WM_USER + 113) #define PSM_PRESSBUTTON (WM_USER + 113)
#define PropSheet_PressButton(hDlg, iButton) \ #define PropSheet_PressButton(hDlg, iButton) \
PostMessage(hDlg, PSM_PRESSBUTTON, (WPARAM)(iButton), 0) PostMessage(hDlg, PSM_PRESSBUTTON, (WPARAM)(iButton), 0)
#define PSBTN_BACK 0 #define PSBTN_BACK 0
#define PSBTN_NEXT 1 #define PSBTN_NEXT 1
skipping to change at line 771 skipping to change at line 731
(BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)(pMsg)) (BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)(pMsg))
#define PSM_GETCURRENTPAGEHWND (WM_USER + 118) #define PSM_GETCURRENTPAGEHWND (WM_USER + 118)
#define PropSheet_GetCurrentPageHwnd(hDlg) \ #define PropSheet_GetCurrentPageHwnd(hDlg) \
(HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L) (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L)
#define PSM_INSERTPAGE (WM_USER + 119) #define PSM_INSERTPAGE (WM_USER + 119)
#define PropSheet_InsertPage(hDlg, index, hpage) \ #define PropSheet_InsertPage(hDlg, index, hpage) \
SNDMSG(hDlg, PSM_INSERTPAGE, (WPARAM)(index), (LPARAM)(hpage)) SNDMSG(hDlg, PSM_INSERTPAGE, (WPARAM)(index), (LPARAM)(hpage))
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
// Only for PSH_AEROWIZARD - used in PSM_SETHEADERTITLE // Only for PSH_AEROWIZARD - used in PSM_SETHEADERTITLE
#define PSWIZF_SETCOLOR ((UINT)(-1)) #define PSWIZF_SETCOLOR ((UINT)(-1))
#endif #endif
#if (_WIN32_IE >= 0x0500)
#define PSM_SETHEADERTITLEA (WM_USER + 125) #define PSM_SETHEADERTITLEA (WM_USER + 125)
#define PSM_SETHEADERTITLEW (WM_USER + 126) #define PSM_SETHEADERTITLEW (WM_USER + 126)
#ifdef UNICODE #ifdef UNICODE
#define PSM_SETHEADERTITLE PSM_SETHEADERTITLEW #define PSM_SETHEADERTITLE PSM_SETHEADERTITLEW
#else #else
#define PSM_SETHEADERTITLE PSM_SETHEADERTITLEA #define PSM_SETHEADERTITLE PSM_SETHEADERTITLEA
#endif #endif
#define PropSheet_SetHeaderTitle(hDlg, index, lpszText) \ #define PropSheet_SetHeaderTitle(hDlg, index, lpszText) \
skipping to change at line 832 skipping to change at line 791
#define PropSheet_IndexToId(hDlg, i) \ #define PropSheet_IndexToId(hDlg, i) \
SNDMSG(hDlg, PSM_INDEXTOID, (WPARAM)(i), 0) SNDMSG(hDlg, PSM_INDEXTOID, (WPARAM)(i), 0)
#define PSM_GETRESULT (WM_USER + 135) #define PSM_GETRESULT (WM_USER + 135)
#define PropSheet_GetResult(hDlg) \ #define PropSheet_GetResult(hDlg) \
SNDMSG(hDlg, PSM_GETRESULT, 0, 0) SNDMSG(hDlg, PSM_GETRESULT, 0, 0)
#define PSM_RECALCPAGESIZES (WM_USER + 136) #define PSM_RECALCPAGESIZES (WM_USER + 136)
#define PropSheet_RecalcPageSizes(hDlg) \ #define PropSheet_RecalcPageSizes(hDlg) \
SNDMSG(hDlg, PSM_RECALCPAGESIZES, 0, 0) SNDMSG(hDlg, PSM_RECALCPAGESIZES, 0, 0)
#endif // 0x0500
#if _WIN32_WINNT >= 0x0600 #if (NTDDI_VERSION >= NTDDI_VISTA)
// Only UNICODE // Only UNICODE
// These messages are only for Aero Wizard style wizards. The Wizard author // These messages are only for Aero Wizard style wizards. The Wizard author
// needs to specify the PSH_AEROWIZARD flag in the dwFlags member of the PROPSHE ETHEADER // needs to specify the PSH_AEROWIZARD flag in the dwFlags member of the PROPSHE ETHEADER
// structure to get this behavior. // structure to get this behavior.
#define PSM_SETNEXTTEXTW (WM_USER + 137) #define PSM_SETNEXTTEXTW (WM_USER + 137)
#define PSM_SETNEXTTEXT PSM_SETNEXTTEXTW #define PSM_SETNEXTTEXT PSM_SETNEXTTEXTW
#define PropSheet_SetNextText(hDlg, lpszText) \ #define PropSheet_SetNextText(hDlg, lpszText) \
SNDMSG(hDlg, PSM_SETNEXTTEXT, 0, (LPARAM)(lpszText)) SNDMSG(hDlg, PSM_SETNEXTTEXT, 0, (LPARAM)(lpszText))
skipping to change at line 888 skipping to change at line 846
#define PROP_MED_CXDLG 227 #define PROP_MED_CXDLG 227
#define PROP_MED_CYDLG 215 #define PROP_MED_CYDLG 215
#define PROP_LG_CXDLG 252 #define PROP_LG_CXDLG 252
#define PROP_LG_CYDLG 218 #define PROP_LG_CYDLG 218
#if defined(_MSC_VER) && (_MSC_VER >= 1200) #if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop) #pragma warning(pop)
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0) #if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
#include "prsht.inl" #include "prsht.inl"
#endif /* ISOLATION_AWARE_ENABLED */ #endif /* ISOLATION_AWARE_ENABLED */
#endif /* RC */ #endif /* RC */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
 End of changes. 48 change blocks. 
65 lines changed or deleted 26 lines changed or added

This html diff was produced by rfcdiff 1.41.