ReactOS 0.4.15-dev-8093-g3285f69
comctl32.h File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winnls.h"
#include "commctrl.h"
#include "windowsx.h"
Include dependency graph for comctl32.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HEADCOMBO
 
struct  COMCTL32_SysColor
 
struct  _SUBCLASSPROCS
 
struct  SUBCLASS_INFO
 

Macros

#define IDD_PROPSHEET   1006
 
#define IDD_WIZARD   1020
 
#define IDC_TABCONTROL   12320
 
#define IDC_APPLY_BUTTON   12321
 
#define IDC_BACK_BUTTON   12323
 
#define IDC_NEXT_BUTTON   12324
 
#define IDC_FINISH_BUTTON   12325
 
#define IDC_SUNKEN_LINE   12326
 
#define IDC_SUNKEN_LINEHEADER   12327
 
#define IDS_CLOSE   4160
 
#define IDD_TBCUSTOMIZE   200
 
#define IDC_AVAILBTN_LBOX   201
 
#define IDC_RESET_BTN   202
 
#define IDC_TOOLBARBTN_LBOX   203
 
#define IDC_REMOVE_BTN   204
 
#define IDC_HELP_BTN   205
 
#define IDC_MOVEUP_BTN   206
 
#define IDC_MOVEDN_BTN   207
 
#define IDS_SEPARATOR   1024
 
#define IDB_STD_SMALL   120
 
#define IDB_STD_LARGE   121
 
#define IDB_VIEW_SMALL   124
 
#define IDB_VIEW_LARGE   125
 
#define IDB_HIST_SMALL   130
 
#define IDB_HIST_LARGE   131
 
#define IDM_TODAY   4163
 
#define IDM_GOTODAY   4164
 
#define IDT_CHECK   401
 
#define IDC_MOVEBUTTON   102
 
#define IDC_COPY   104
 
#define IDC_DIVIDER   106
 
#define IDC_DIVIDEROPEN   107
 
#define IDI_DRAGARROW   501
 
#define HKY_NONE   2048
 
#define IDI_TT_INFO_SM   22
 
#define IDI_TT_WARN_SM   25
 
#define IDI_TT_ERROR_SM   28
 
#define IDS_BUTTON_YES   3000
 
#define IDS_BUTTON_NO   3001
 
#define IDS_BUTTON_RETRY   3002
 
#define IDS_BUTTON_OK   3003
 
#define IDS_BUTTON_CANCEL   3004
 
#define IDS_BUTTON_CLOSE   3005
 
#define WM_SYSTIMER   0x0118
 
#define COMCTL32_VERSION_MINOR   81
 

Typedefs

typedef struct HEADCOMBOLPHEADCOMBO
 
typedef struct _SUBCLASSPROCS SUBCLASSPROCS
 
typedef struct _SUBCLASSPROCSLPSUBCLASSPROCS
 
typedef struct SUBCLASS_INFOLPSUBCLASS_INFO
 

Enumerations

enum  combobox_state_flags {
  CBF_DROPPED = 0x0001 , CBF_BUTTONDOWN = 0x0002 , CBF_NOROLLUP = 0x0004 , CBF_MEASUREITEM = 0x0008 ,
  CBF_FOCUSED = 0x0010 , CBF_CAPTURE = 0x0020 , CBF_EDIT = 0x0040 , CBF_NORESIZE = 0x0080 ,
  CBF_NOTIFY = 0x0100 , CBF_NOREDRAW = 0x0200 , CBF_SELCHANGE = 0x0400 , CBF_HOT = 0x0800 ,
  CBF_NOEDITNOTIFY = 0x1000 , CBF_NOLBSELECT = 0x2000 , CBF_BEENFOCUSED = 0x4000 , CBF_EUI = 0x8000
}
 

Functions

BOOL COMBO_FlipListbox (HEADCOMBO *lphc, BOOL ok, BOOL bRedrawButton) DECLSPEC_HIDDEN
 
HWND COMCTL32_CreateToolTip (HWND) DECLSPEC_HIDDEN
 
VOID COMCTL32_RefreshSysColors (void) DECLSPEC_HIDDEN
 
void COMCTL32_DrawInsertMark (HDC hDC, const RECT *lpRect, COLORREF clrInsertMark, BOOL bHorizontal) DECLSPEC_HIDDEN
 
void COMCTL32_EnsureBitmapSize (HBITMAP *pBitmap, int cxMinWidth, int cyMinHeight, COLORREF crBackground) DECLSPEC_HIDDEN
 
void COMCTL32_GetFontMetrics (HFONT hFont, TEXTMETRICW *ptm) DECLSPEC_HIDDEN
 
BOOL COMCTL32_IsReflectedMessage (UINT uMsg) DECLSPEC_HIDDEN
 
INT Str_GetPtrWtoA (LPCWSTR lpSrc, LPSTR lpDest, INT nMaxLen) DECLSPEC_HIDDEN
 
INT Str_GetPtrAtoW (LPCSTR lpSrc, LPWSTR lpDest, INT nMaxLen) DECLSPEC_HIDDEN
 
BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc) DECLSPEC_HIDDEN
 
BOOL Str_SetPtrWtoA (LPSTR *lppDest, LPCWSTR lpSrc) DECLSPEC_HIDDEN
 
LPVOID WINAPI Alloc (DWORD) __WINE_ALLOC_SIZE(1)
 
LPVOID WINAPI ReAlloc (LPVOID, DWORD) __WINE_ALLOC_SIZE(2)
 
BOOL WINAPI Free (LPVOID)
 
DWORD WINAPI GetSize (LPVOID)
 
INT WINAPI Str_GetPtrA (LPCSTR, LPSTR, INT)
 
INT WINAPI Str_GetPtrW (LPCWSTR, LPWSTR, INT)
 
LRESULT WINAPI SetPathWordBreakProc (HWND hwnd, BOOL bSet)
 
BOOL WINAPI MirrorIcon (HICON *phicon1, HICON *phicon2)
 
HRGN set_control_clipping (HDC hdc, const RECT *rect) DECLSPEC_HIDDEN
 
void ANIMATE_Register (void) DECLSPEC_HIDDEN
 
void ANIMATE_Unregister (void) DECLSPEC_HIDDEN
 
void BUTTON_Register (void) DECLSPEC_HIDDEN
 
void COMBO_Register (void) DECLSPEC_HIDDEN
 
void COMBOEX_Register (void) DECLSPEC_HIDDEN
 
void COMBOEX_Unregister (void) DECLSPEC_HIDDEN
 
void COMBOLBOX_Register (void) DECLSPEC_HIDDEN
 
void DATETIME_Register (void) DECLSPEC_HIDDEN
 
void DATETIME_Unregister (void) DECLSPEC_HIDDEN
 
void EDIT_Register (void) DECLSPEC_HIDDEN
 
void FLATSB_Register (void) DECLSPEC_HIDDEN
 
void FLATSB_Unregister (void) DECLSPEC_HIDDEN
 
void HEADER_Register (void) DECLSPEC_HIDDEN
 
void HEADER_Unregister (void) DECLSPEC_HIDDEN
 
void HOTKEY_Register (void) DECLSPEC_HIDDEN
 
void HOTKEY_Unregister (void) DECLSPEC_HIDDEN
 
void IPADDRESS_Register (void) DECLSPEC_HIDDEN
 
void IPADDRESS_Unregister (void) DECLSPEC_HIDDEN
 
void LISTBOX_Register (void) DECLSPEC_HIDDEN
 
void LISTVIEW_Register (void) DECLSPEC_HIDDEN
 
void LISTVIEW_Unregister (void) DECLSPEC_HIDDEN
 
void MONTHCAL_Register (void) DECLSPEC_HIDDEN
 
void MONTHCAL_Unregister (void) DECLSPEC_HIDDEN
 
void NATIVEFONT_Register (void) DECLSPEC_HIDDEN
 
void NATIVEFONT_Unregister (void) DECLSPEC_HIDDEN
 
void PAGER_Register (void) DECLSPEC_HIDDEN
 
void PAGER_Unregister (void) DECLSPEC_HIDDEN
 
void PROGRESS_Register (void) DECLSPEC_HIDDEN
 
void PROGRESS_Unregister (void) DECLSPEC_HIDDEN
 
void REBAR_Register (void) DECLSPEC_HIDDEN
 
void REBAR_Unregister (void) DECLSPEC_HIDDEN
 
void STATIC_Register (void) DECLSPEC_HIDDEN
 
void STATUS_Register (void) DECLSPEC_HIDDEN
 
void STATUS_Unregister (void) DECLSPEC_HIDDEN
 
void SYSLINK_Register (void) DECLSPEC_HIDDEN
 
void SYSLINK_Unregister (void) DECLSPEC_HIDDEN
 
void TAB_Register (void) DECLSPEC_HIDDEN
 
void TAB_Unregister (void) DECLSPEC_HIDDEN
 
void TOOLBAR_Register (void) DECLSPEC_HIDDEN
 
void TOOLBAR_Unregister (void) DECLSPEC_HIDDEN
 
void TOOLTIPS_Register (void) DECLSPEC_HIDDEN
 
void TOOLTIPS_Unregister (void) DECLSPEC_HIDDEN
 
void TRACKBAR_Register (void) DECLSPEC_HIDDEN
 
void TRACKBAR_Unregister (void) DECLSPEC_HIDDEN
 
void TREEVIEW_Register (void) DECLSPEC_HIDDEN
 
void TREEVIEW_Unregister (void) DECLSPEC_HIDDEN
 
void UPDOWN_Register (void) DECLSPEC_HIDDEN
 
void UPDOWN_Unregister (void) DECLSPEC_HIDDEN
 
int MONTHCAL_MonthLength (int month, int year) DECLSPEC_HIDDEN
 
int MONTHCAL_CalculateDayOfWeek (SYSTEMTIME *date, BOOL inplace) DECLSPEC_HIDDEN
 
LONG MONTHCAL_CompareSystemTime (const SYSTEMTIME *first, const SYSTEMTIME *second) DECLSPEC_HIDDEN
 
void THEMING_Initialize (void) DECLSPEC_HIDDEN
 
void THEMING_Uninitialize (void) DECLSPEC_HIDDEN
 
LRESULT THEMING_CallOriginalClass (HWND, UINT, WPARAM, LPARAM) DECLSPEC_HIDDEN
 
void THEMING_SetSubclassData (HWND, ULONG_PTR) DECLSPEC_HIDDEN
 

Variables

HMODULE COMCTL32_hModule DECLSPEC_HIDDEN
 

Macro Definition Documentation

◆ COMCTL32_VERSION_MINOR

#define COMCTL32_VERSION_MINOR   81

Definition at line 199 of file comctl32.h.

◆ HKY_NONE

#define HKY_NONE   2048

Definition at line 103 of file comctl32.h.

◆ IDB_HIST_LARGE

#define IDB_HIST_LARGE   131

Definition at line 82 of file comctl32.h.

◆ IDB_HIST_SMALL

#define IDB_HIST_SMALL   130

Definition at line 81 of file comctl32.h.

◆ IDB_STD_LARGE

#define IDB_STD_LARGE   121

Definition at line 78 of file comctl32.h.

◆ IDB_STD_SMALL

#define IDB_STD_SMALL   120

Definition at line 77 of file comctl32.h.

◆ IDB_VIEW_LARGE

#define IDB_VIEW_LARGE   125

Definition at line 80 of file comctl32.h.

◆ IDB_VIEW_SMALL

#define IDB_VIEW_SMALL   124

Definition at line 79 of file comctl32.h.

◆ IDC_APPLY_BUTTON

#define IDC_APPLY_BUTTON   12321

Definition at line 54 of file comctl32.h.

◆ IDC_AVAILBTN_LBOX

#define IDC_AVAILBTN_LBOX   201

Definition at line 66 of file comctl32.h.

◆ IDC_BACK_BUTTON

#define IDC_BACK_BUTTON   12323

Definition at line 55 of file comctl32.h.

◆ IDC_COPY

#define IDC_COPY   104

Definition at line 94 of file comctl32.h.

◆ IDC_DIVIDER

#define IDC_DIVIDER   106

Definition at line 95 of file comctl32.h.

◆ IDC_DIVIDEROPEN

#define IDC_DIVIDEROPEN   107

Definition at line 96 of file comctl32.h.

◆ IDC_FINISH_BUTTON

#define IDC_FINISH_BUTTON   12325

Definition at line 57 of file comctl32.h.

◆ IDC_HELP_BTN

#define IDC_HELP_BTN   205

Definition at line 70 of file comctl32.h.

◆ IDC_MOVEBUTTON

#define IDC_MOVEBUTTON   102

Definition at line 93 of file comctl32.h.

◆ IDC_MOVEDN_BTN

#define IDC_MOVEDN_BTN   207

Definition at line 72 of file comctl32.h.

◆ IDC_MOVEUP_BTN

#define IDC_MOVEUP_BTN   206

Definition at line 71 of file comctl32.h.

◆ IDC_NEXT_BUTTON

#define IDC_NEXT_BUTTON   12324

Definition at line 56 of file comctl32.h.

◆ IDC_REMOVE_BTN

#define IDC_REMOVE_BTN   204

Definition at line 69 of file comctl32.h.

◆ IDC_RESET_BTN

#define IDC_RESET_BTN   202

Definition at line 67 of file comctl32.h.

◆ IDC_SUNKEN_LINE

#define IDC_SUNKEN_LINE   12326

Definition at line 58 of file comctl32.h.

◆ IDC_SUNKEN_LINEHEADER

#define IDC_SUNKEN_LINEHEADER   12327

Definition at line 59 of file comctl32.h.

◆ IDC_TABCONTROL

#define IDC_TABCONTROL   12320

Definition at line 53 of file comctl32.h.

◆ IDC_TOOLBARBTN_LBOX

#define IDC_TOOLBARBTN_LBOX   203

Definition at line 68 of file comctl32.h.

◆ IDD_PROPSHEET

#define IDD_PROPSHEET   1006

Definition at line 50 of file comctl32.h.

◆ IDD_TBCUSTOMIZE

#define IDD_TBCUSTOMIZE   200

Definition at line 64 of file comctl32.h.

◆ IDD_WIZARD

#define IDD_WIZARD   1020

Definition at line 51 of file comctl32.h.

◆ IDI_DRAGARROW

#define IDI_DRAGARROW   501

Definition at line 100 of file comctl32.h.

◆ IDI_TT_ERROR_SM

#define IDI_TT_ERROR_SM   28

Definition at line 108 of file comctl32.h.

◆ IDI_TT_INFO_SM

#define IDI_TT_INFO_SM   22

Definition at line 106 of file comctl32.h.

◆ IDI_TT_WARN_SM

#define IDI_TT_WARN_SM   25

Definition at line 107 of file comctl32.h.

◆ IDM_GOTODAY

#define IDM_GOTODAY   4164

Definition at line 85 of file comctl32.h.

◆ IDM_TODAY

#define IDM_TODAY   4163

Definition at line 84 of file comctl32.h.

◆ IDS_BUTTON_CANCEL

#define IDS_BUTTON_CANCEL   3004

Definition at line 115 of file comctl32.h.

◆ IDS_BUTTON_CLOSE

#define IDS_BUTTON_CLOSE   3005

Definition at line 116 of file comctl32.h.

◆ IDS_BUTTON_NO

#define IDS_BUTTON_NO   3001

Definition at line 112 of file comctl32.h.

◆ IDS_BUTTON_OK

#define IDS_BUTTON_OK   3003

Definition at line 114 of file comctl32.h.

◆ IDS_BUTTON_RETRY

#define IDS_BUTTON_RETRY   3002

Definition at line 113 of file comctl32.h.

◆ IDS_BUTTON_YES

#define IDS_BUTTON_YES   3000

Definition at line 111 of file comctl32.h.

◆ IDS_CLOSE

#define IDS_CLOSE   4160

Definition at line 61 of file comctl32.h.

◆ IDS_SEPARATOR

#define IDS_SEPARATOR   1024

Definition at line 74 of file comctl32.h.

◆ IDT_CHECK

#define IDT_CHECK   401

Definition at line 89 of file comctl32.h.

◆ WM_SYSTIMER

#define WM_SYSTIMER   0x0118

Definition at line 119 of file comctl32.h.

Typedef Documentation

◆ LPHEADCOMBO

◆ LPSUBCLASS_INFO

◆ LPSUBCLASSPROCS

◆ SUBCLASSPROCS

Enumeration Type Documentation

◆ combobox_state_flags

Enumerator
CBF_DROPPED 
CBF_BUTTONDOWN 
CBF_NOROLLUP 
CBF_MEASUREITEM 
CBF_FOCUSED 
CBF_CAPTURE 
CBF_EDIT 
CBF_NORESIZE 
CBF_NOTIFY 
CBF_NOREDRAW 
CBF_SELCHANGE 
CBF_HOT 
CBF_NOEDITNOTIFY 
CBF_NOLBSELECT 
CBF_BEENFOCUSED 
CBF_EUI 

Definition at line 122 of file comctl32.h.

123{
124 CBF_DROPPED = 0x0001,
125 CBF_BUTTONDOWN = 0x0002,
126 CBF_NOROLLUP = 0x0004,
127 CBF_MEASUREITEM = 0x0008,
128 CBF_FOCUSED = 0x0010,
129 CBF_CAPTURE = 0x0020,
130 CBF_EDIT = 0x0040,
131 CBF_NORESIZE = 0x0080,
132 CBF_NOTIFY = 0x0100,
133 CBF_NOREDRAW = 0x0200,
134 CBF_SELCHANGE = 0x0400,
135 CBF_HOT = 0x0800,
136 CBF_NOEDITNOTIFY = 0x1000,
137 CBF_NOLBSELECT = 0x2000, /* do not change current selection */
138 CBF_BEENFOCUSED = 0x4000, /* has it ever had focus */
139 CBF_EUI = 0x8000,
140};
@ CBF_NOREDRAW
Definition: comctl32.h:133
@ CBF_NOLBSELECT
Definition: comctl32.h:137
@ CBF_NORESIZE
Definition: comctl32.h:131
@ CBF_NOROLLUP
Definition: comctl32.h:126
@ CBF_BUTTONDOWN
Definition: comctl32.h:125
@ CBF_SELCHANGE
Definition: comctl32.h:134
@ CBF_FOCUSED
Definition: comctl32.h:128
@ CBF_MEASUREITEM
Definition: comctl32.h:127
@ CBF_NOTIFY
Definition: comctl32.h:132
@ CBF_HOT
Definition: comctl32.h:135
@ CBF_EDIT
Definition: comctl32.h:130
@ CBF_BEENFOCUSED
Definition: comctl32.h:138
@ CBF_EUI
Definition: comctl32.h:139
@ CBF_CAPTURE
Definition: comctl32.h:129
@ CBF_NOEDITNOTIFY
Definition: comctl32.h:136
@ CBF_DROPPED
Definition: comctl32.h:124

Function Documentation

◆ Alloc()

LPVOID WINAPI Alloc ( DWORD  dwSize)

Definition at line 71 of file comctl32undoc.c.

72{
74}
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1390
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
#define LMEM_ZEROINIT
Definition: winbase.h:375

Referenced by AddMRUData(), AddMRUStringA(), create_mru_list(), CreateMRUListLazyA(), CreateMRUListLazyW(), FindMRUData(), and FindMRUStringA().

◆ ANIMATE_Register()

void ANIMATE_Register ( void  )

Definition at line 965 of file animate.c.

966{
967 WNDCLASSW wndClass;
968
969 ZeroMemory(&wndClass, sizeof(WNDCLASSW));
970 wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS;
972 wndClass.cbClsExtra = 0;
973 wndClass.cbWndExtra = sizeof(ANIMATE_INFO *);
974 wndClass.hCursor = LoadCursorW(0, (LPCWSTR)IDC_ARROW);
975 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
976 wndClass.lpszClassName = ANIMATE_CLASSW;
977
978 RegisterClassW(&wndClass);
979}
static LRESULT WINAPI ANIMATE_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: animate.c:876
#define ANIMATE_CLASSW
Definition: commctrl.h:4141
LPCWSTR lpszClassName
Definition: winuser.h:3185
HBRUSH hbrBackground
Definition: winuser.h:3183
int cbClsExtra
Definition: winuser.h:3178
UINT style
Definition: winuser.h:3176
WNDPROC lpfnWndProc
Definition: winuser.h:3177
int cbWndExtra
Definition: winuser.h:3179
HCURSOR hCursor
Definition: winuser.h:3182
#define ZeroMemory
Definition: winbase.h:1712
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
#define IDC_ARROW
Definition: winuser.h:687
#define CS_DBLCLKS
Definition: winuser.h:651
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
Definition: cursoricon.c:2136
#define CS_GLOBALCLASS
Definition: winuser.h:652
#define COLOR_BTNFACE
Definition: winuser.h:928
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

Referenced by DllMain().

◆ ANIMATE_Unregister()

void ANIMATE_Unregister ( void  )

Definition at line 982 of file animate.c.

983{
985}
#define NULL
Definition: types.h:112
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)

Referenced by DllMain().

◆ BUTTON_Register()

void BUTTON_Register ( void  )

Definition at line 2136 of file button.c.

2137{
2138 WNDCLASSW wndClass;
2139
2140 memset(&wndClass, 0, sizeof(wndClass));
2142 wndClass.lpfnWndProc = BUTTON_WindowProc;
2143 wndClass.cbClsExtra = 0;
2144 wndClass.cbWndExtra = sizeof(BUTTON_INFO *);
2145 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
2146 wndClass.hbrBackground = NULL;
2147 wndClass.lpszClassName = WC_BUTTONW;
2148 RegisterClassW(&wndClass);
2149}
static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: button.c:587
#define WC_BUTTONW
Definition: commctrl.h:4623
#define memset(x, y, z)
Definition: compat.h:39
#define CS_VREDRAW
Definition: winuser.h:658
#define CS_HREDRAW
Definition: winuser.h:653
#define CS_PARENTDC
Definition: winuser.h:656
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by DllMain().

◆ COMBO_FlipListbox()

BOOL COMBO_FlipListbox ( HEADCOMBO lphc,
BOOL  ok,
BOOL  bRedrawButton 
)

◆ COMBO_Register()

void COMBO_Register ( void  )

Definition at line 2170 of file combo.c.

2171{
2172 WNDCLASSW wndClass;
2173
2174 memset(&wndClass, 0, sizeof(wndClass));
2176 wndClass.lpfnWndProc = COMBO_WindowProc;
2177 wndClass.cbClsExtra = 0;
2178 wndClass.cbWndExtra = sizeof(HEADCOMBO *);
2179 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
2180 wndClass.hbrBackground = NULL;
2181 wndClass.lpszClassName = WC_COMBOBOXW;
2182 RegisterClassW(&wndClass);
2183}
static LRESULT CALLBACK COMBO_WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
Definition: combo.c:1712
#define WC_COMBOBOXW
Definition: commctrl.h:4717

Referenced by DllMain().

◆ COMBOEX_Register()

void COMBOEX_Register ( void  )

Definition at line 2169 of file comboex.c.

2173{
2174 WNDCLASSW wndClass;
2175
2176 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
2177 wndClass.style = CS_GLOBALCLASS;
2179 wndClass.cbClsExtra = 0;
2180 wndClass.cbWndExtra = sizeof(COMBOEX_INFO *);
2181 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
2182 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
2183 wndClass.lpszClassName = WC_COMBOBOXEXW;
static LRESULT WINAPI COMBOEX_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: comboex.c:1990
#define WC_COMBOBOXEXW
Definition: commctrl.h:3781
#define COLOR_WINDOW
Definition: winuser.h:918

Referenced by DllMain().

◆ COMBOEX_Unregister()

void COMBOEX_Unregister ( void  )

Definition at line 2186 of file comboex.c.

Referenced by DllMain().

◆ COMBOLBOX_Register()

void COMBOLBOX_Register ( void  )

Definition at line 3069 of file listbox.c.

3070{
3071 static const WCHAR combolboxW[] = {'C','o','m','b','o','L','B','o','x',0};
3072 WNDCLASSW wndClass;
3073
3074 memset(&wndClass, 0, sizeof(wndClass));
3077 wndClass.cbClsExtra = 0;
3078 wndClass.cbWndExtra = sizeof(LB_DESCR *);
3079 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
3080 wndClass.hbrBackground = NULL;
3081 wndClass.lpszClassName = combolboxW;
3082 RegisterClassW(&wndClass);
3083}
static LRESULT CALLBACK LISTBOX_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: listbox.c:2570
static const WCHAR combolboxW[]
Definition: listbox.c:141
#define CS_DROPSHADOW
Definition: winuser.h:660
#define CS_SAVEBITS
Definition: winuser.h:657
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by DllMain().

◆ COMCTL32_CreateToolTip()

HWND COMCTL32_CreateToolTip ( HWND  hwndOwner)

Definition at line 1544 of file commctrl.c.

1545{
1546 HWND hwndToolTip;
1547
1548 hwndToolTip = CreateWindowExW(0, TOOLTIPS_CLASSW, NULL, WS_POPUP,
1550 CW_USEDEFAULT, CW_USEDEFAULT, hwndOwner,
1551 0, 0, 0);
1552
1553 /* Send NM_TOOLTIPSCREATED notification */
1554 if (hwndToolTip)
1555 {
1556 NMTOOLTIPSCREATED nmttc;
1557 /* true owner can be different if hwndOwner is a child window */
1558 HWND hwndTrueOwner = GetWindow(hwndToolTip, GW_OWNER);
1559 nmttc.hdr.hwndFrom = hwndTrueOwner;
1560 nmttc.hdr.idFrom = GetWindowLongPtrW(hwndTrueOwner, GWLP_ID);
1561 nmttc.hdr.code = NM_TOOLTIPSCREATED;
1562 nmttc.hwndToolTips = hwndToolTip;
1563
1564 SendMessageW(GetParent(hwndTrueOwner), WM_NOTIFY,
1565 GetWindowLongPtrW(hwndTrueOwner, GWLP_ID), (LPARAM)&nmttc);
1566 }
1567
1568 return hwndToolTip;
1569}
#define WS_POPUP
Definition: pedump.c:616
#define TOOLTIPS_CLASSW
Definition: commctrl.h:1707
#define NM_TOOLTIPSCREATED
Definition: commctrl.h:144
#define WM_NOTIFY
Definition: richedit.h:61
UINT_PTR idFrom
Definition: winuser.h:3158
UINT code
Definition: winuser.h:3159
HWND hwndFrom
Definition: winuser.h:3157
LONG_PTR LPARAM
Definition: windef.h:208
#define GW_OWNER
Definition: winuser.h:766
#define GetWindowLongPtrW
Definition: winuser.h:4829
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
#define CW_USEDEFAULT
Definition: winuser.h:225
HWND WINAPI GetParent(_In_ HWND)
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
#define GWLP_ID
Definition: winuser.h:860
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by LISTVIEW_WindowProc(), and TREEVIEW_StyleChanged().

◆ COMCTL32_DrawInsertMark()

void COMCTL32_DrawInsertMark ( HDC  hDC,
const RECT lpRect,
COLORREF  clrInsertMark,
BOOL  bHorizontal 
)

Definition at line 1626 of file commctrl.c.

1627{
1628 HPEN hPen = CreatePen(PS_SOLID, 1, clrInsertMark);
1629 HPEN hOldPen;
1630 static const DWORD adwPolyPoints[] = {4,4,4};
1631 LONG lCentre = (bHorizontal ?
1632 lpRect->top + (lpRect->bottom - lpRect->top)/2 :
1633 lpRect->left + (lpRect->right - lpRect->left)/2);
1634 LONG l1 = (bHorizontal ? lpRect->left : lpRect->top);
1635 LONG l2 = (bHorizontal ? lpRect->right : lpRect->bottom);
1636 const POINT aptInsertMark[] =
1637 {
1638 /* top (V) or left (H) arrow */
1639 {lCentre , l1 + 2},
1640 {lCentre - 2, l1 },
1641 {lCentre + 3, l1 },
1642 {lCentre + 1, l1 + 2},
1643 /* middle line */
1644 {lCentre , l2 - 2},
1645 {lCentre , l1 - 1},
1646 {lCentre + 1, l1 - 1},
1647 {lCentre + 1, l2 - 2},
1648 /* bottom (V) or right (H) arrow */
1649 {lCentre , l2 - 3},
1650 {lCentre - 2, l2 - 1},
1651 {lCentre + 3, l2 - 1},
1652 {lCentre + 1, l2 - 3},
1653 };
1654 hOldPen = SelectObject(hDC, hPen);
1655 PolyPolyline(hDC, aptInsertMark, adwPolyPoints, ARRAY_SIZE(adwPolyPoints));
1656 SelectObject(hDC, hOldPen);
1657 DeleteObject(hPen);
1658}
static HDC hDC
Definition: 3dtext.c:33
#define ARRAY_SIZE(A)
Definition: main.h:33
unsigned long DWORD
Definition: ntddk_ex.h:95
pKey DeleteObject()
long LONG
Definition: pedump.c:60
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1539
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
#define PS_SOLID
Definition: wingdi.h:586
BOOL WINAPI PolyPolyline(_In_ HDC hdc, _In_ const POINT *apt, _In_reads_(csz) const DWORD *asz, _In_ DWORD csz)

Referenced by TOOLBAR_Refresh().

◆ COMCTL32_EnsureBitmapSize()

void COMCTL32_EnsureBitmapSize ( HBITMAP pBitmap,
int  cxMinWidth,
int  cyMinHeight,
COLORREF  crBackground 
)

Definition at line 1678 of file commctrl.c.

1679{
1680 int cxNew, cyNew;
1681 BITMAP bmp;
1682 HBITMAP hNewBitmap;
1683 HBITMAP hNewDCBitmap, hOldDCBitmap;
1684 HBRUSH hNewDCBrush;
1685 HDC hdcNew, hdcOld;
1686
1687 if (!GetObjectW(*pBitmap, sizeof(BITMAP), &bmp))
1688 return;
1689 cxNew = (cxMinWidth > bmp.bmWidth ? cxMinWidth : bmp.bmWidth);
1690 cyNew = (cyMinHeight > bmp.bmHeight ? cyMinHeight : bmp.bmHeight);
1691 if (cxNew == bmp.bmWidth && cyNew == bmp.bmHeight)
1692 return;
1693
1694 hdcNew = CreateCompatibleDC(NULL);
1695 hNewBitmap = CreateBitmap(cxNew, cyNew, bmp.bmPlanes, bmp.bmBitsPixel, NULL);
1696 hNewDCBitmap = SelectObject(hdcNew, hNewBitmap);
1697 hNewDCBrush = SelectObject(hdcNew, CreateSolidBrush(crBackground));
1698
1699 hdcOld = CreateCompatibleDC(NULL);
1700 hOldDCBitmap = SelectObject(hdcOld, *pBitmap);
1701
1702 BitBlt(hdcNew, 0, 0, bmp.bmWidth, bmp.bmHeight, hdcOld, 0, 0, SRCCOPY);
1703 if (bmp.bmWidth < cxMinWidth)
1704 PatBlt(hdcNew, bmp.bmWidth, 0, cxNew, bmp.bmHeight, PATCOPY);
1705 if (bmp.bmHeight < cyMinHeight)
1706 PatBlt(hdcNew, 0, bmp.bmHeight, bmp.bmWidth, cyNew, PATCOPY);
1707 if (bmp.bmWidth < cxMinWidth && bmp.bmHeight < cyMinHeight)
1708 PatBlt(hdcNew, bmp.bmWidth, bmp.bmHeight, cxNew, cyNew, PATCOPY);
1709
1710 SelectObject(hdcNew, hNewDCBitmap);
1711 DeleteObject(SelectObject(hdcNew, hNewDCBrush));
1712 DeleteDC(hdcNew);
1713 SelectObject(hdcOld, hOldDCBitmap);
1714 DeleteDC(hdcOld);
1715
1716 DeleteObject(*pBitmap);
1717 *pBitmap = hNewBitmap;
1718 return;
1719}
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
Definition: common.c:57
BITMAP bmp
Definition: alphablend.c:62
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:92
Definition: bl.h:1331
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
#define SRCCOPY
Definition: wingdi.h:333
#define PATCOPY
Definition: wingdi.h:335
BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)

Referenced by TOOLBAR_AddBitmapToImageList().

◆ COMCTL32_GetFontMetrics()

void COMCTL32_GetFontMetrics ( HFONT  hFont,
TEXTMETRICW ptm 
)

Definition at line 1721 of file commctrl.c.

1722{
1723 HDC hdc = GetDC(NULL);
1724 HFONT hOldFont;
1725
1726 hOldFont = SelectObject(hdc, hFont);
1727 GetTextMetricsW(hdc, ptm);
1728 SelectObject(hdc, hOldFont);
1729 ReleaseDC(NULL, hdc);
1730}
HFONT hFont
Definition: main.c:53
HDC hdc
Definition: main.c:9
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
Definition: text.c:221
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HDC WINAPI GetDC(_In_opt_ HWND)

Referenced by STATUSBAR_ComputeHeight().

◆ COMCTL32_IsReflectedMessage()

BOOL COMCTL32_IsReflectedMessage ( UINT  uMsg)

Definition at line 1748 of file commctrl.c.

1749{
1750 switch (uMsg)
1751 {
1752 case OCM__BASE + WM_COMMAND:
1760 case OCM__BASE + WM_DRAWITEM:
1762 case OCM__BASE + WM_DELETEITEM:
1763 case OCM__BASE + WM_VKEYTOITEM:
1764 case OCM__BASE + WM_CHARTOITEM:
1766 case OCM__BASE + WM_HSCROLL:
1767 case OCM__BASE + WM_VSCROLL:
1769 case OCM__BASE + WM_NOTIFY:
1770 return TRUE;
1771 default:
1772 return FALSE;
1773 }
1774}
#define OCM__BASE
Definition: commctrl.c:1733
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define WM_CTLCOLORSTATIC
Definition: winuser.h:1772
#define WM_HSCROLL
Definition: winuser.h:1743
#define WM_CHARTOITEM
Definition: winuser.h:1649
#define WM_VSCROLL
Definition: winuser.h:1744
#define WM_COMMAND
Definition: winuser.h:1740
#define WM_CTLCOLORSCROLLBAR
Definition: winuser.h:1771
#define WM_DELETEITEM
Definition: winuser.h:1647
#define WM_CTLCOLORMSGBOX
Definition: winuser.h:1766
#define WM_DRAWITEM
Definition: winuser.h:1645
#define WM_CTLCOLORBTN
Definition: winuser.h:1769
#define WM_MEASUREITEM
Definition: winuser.h:1646
#define WM_CTLCOLORLISTBOX
Definition: winuser.h:1768
#define WM_COMPAREITEM
Definition: winuser.h:1655
#define WM_PARENTNOTIFY
Definition: winuser.h:1803
#define WM_CTLCOLOREDIT
Definition: winuser.h:1767
#define WM_CTLCOLORDLG
Definition: winuser.h:1770
#define WM_VKEYTOITEM
Definition: winuser.h:1648

Referenced by ANIMATE_WindowProc(), COMBOEX_WindowProc(), DATETIME_WindowProc(), FlatSB_WindowProc(), HEADER_WindowProc(), HOTKEY_WindowProc(), IPADDRESS_WindowProc(), LISTVIEW_WindowProc(), MONTHCAL_WindowProc(), NATIVEFONT_WindowProc(), ProgressWindowProc(), REBAR_WindowProc(), StatusWindowProc(), SysLinkWindowProc(), TAB_WindowProc(), ToolbarWindowProc(), TOOLTIPS_WindowProc(), TRACKBAR_WindowProc(), TREEVIEW_WindowProc(), and UpDownWindowProc().

◆ COMCTL32_RefreshSysColors()

VOID COMCTL32_RefreshSysColors ( void  )

Definition at line 1586 of file commctrl.c.

1587{
1605}
COMCTL32_SysColor comctl32_color
Definition: commctrl.c:82
COLORREF clrHighlightText
Definition: comctl32.h:170
COLORREF clrBtnShadow
Definition: comctl32.h:166
COLORREF clrBtnText
Definition: comctl32.h:167
COLORREF clrBtnFace
Definition: comctl32.h:168
COLORREF clrInfoText
Definition: comctl32.h:181
COLORREF clrWindow
Definition: comctl32.h:176
COLORREF clr3dFace
Definition: comctl32.h:175
COLORREF clrActiveCaption
Definition: comctl32.h:179
COLORREF clrBtnHighlight
Definition: comctl32.h:165
COLORREF clr3dShadow
Definition: comctl32.h:173
COLORREF clrGrayText
Definition: comctl32.h:178
COLORREF clr3dDkShadow
Definition: comctl32.h:174
COLORREF clrInfoBk
Definition: comctl32.h:180
COLORREF clrHotTrackingColor
Definition: comctl32.h:171
COLORREF clrWindowText
Definition: comctl32.h:177
COLORREF clr3dHilight
Definition: comctl32.h:172
COLORREF clrHighlight
Definition: comctl32.h:169
DWORD WINAPI GetSysColor(_In_ int)
#define COLOR_BTNTEXT
Definition: winuser.h:933
#define COLOR_INFOBK
Definition: winuser.h:942
#define COLOR_GRAYTEXT
Definition: winuser.h:932
#define COLOR_WINDOWTEXT
Definition: winuser.h:921
#define COLOR_HIGHLIGHT
Definition: winuser.h:926
#define COLOR_ACTIVECAPTION
Definition: winuser.h:915
#define COLOR_3DDKSHADOW
Definition: winuser.h:939
#define COLOR_3DSHADOW
Definition: winuser.h:931
#define COLOR_INFOTEXT
Definition: winuser.h:941
#define COLOR_HOTLIGHT
Definition: winuser.h:943
#define COLOR_HIGHLIGHTTEXT
Definition: winuser.h:927
#define COLOR_BTNSHADOW
Definition: winuser.h:930
#define COLOR_3DHILIGHT
Definition: winuser.h:937
#define COLOR_BTNHIGHLIGHT
Definition: winuser.h:935
#define COLOR_3DFACE
Definition: winuser.h:929

Referenced by COMBOEX_WindowProc(), DllMain(), HEADER_WindowProc(), IPADDRESS_WindowProc(), LISTVIEW_WindowProc(), MONTHCAL_WindowProc(), PROPSHEET_DialogProc(), REBAR_WindowProc(), STATIC_WindowProc(), StatusWindowProc(), SysLinkWindowProc(), TAB_WindowProc(), TOOLBAR_SysColorChange(), TOOLTIPS_WindowProc(), and TREEVIEW_WindowProc().

◆ DATETIME_Register()

void DATETIME_Register ( void  )

Definition at line 1719 of file datetime.c.

1720{
1721 WNDCLASSW wndClass;
1722
1723 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
1724 wndClass.style = CS_GLOBALCLASS;
1726 wndClass.cbClsExtra = 0;
1727 wndClass.cbWndExtra = sizeof(DATETIME_INFO *);
1728 wndClass.hCursor = LoadCursorW (0, (LPCWSTR)IDC_ARROW);
1729 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
1731
1732 RegisterClassW (&wndClass);
1733}
static LRESULT WINAPI DATETIME_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: datetime.c:1589
#define DATETIMEPICK_CLASSW
Definition: commctrl.h:4322

Referenced by DllMain().

◆ DATETIME_Unregister()

void DATETIME_Unregister ( void  )

Definition at line 1737 of file datetime.c.

Referenced by DllMain().

◆ EDIT_Register()

void EDIT_Register ( void  )

Definition at line 5175 of file edit.c.

5177{
5178 WNDCLASSW wndClass;
5179
5180 memset(&wndClass, 0, sizeof(wndClass));
5182 wndClass.lpfnWndProc = EDIT_WindowProc;
5183 wndClass.cbClsExtra = 0;
5184#ifdef __i386__
5185 wndClass.cbWndExtra = sizeof(EDITSTATE *) + sizeof(WORD);
5186#else
5187 wndClass.cbWndExtra = sizeof(EDITSTATE *);
5188#endif
5189 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_IBEAM);
5190 wndClass.hbrBackground = NULL;
5191 wndClass.lpszClassName = WC_EDITW;
5192 RegisterClassW(&wndClass);
static LRESULT CALLBACK EDIT_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: edit.c:4621
unsigned short WORD
Definition: ntddk_ex.h:93
#define WC_EDITW
Definition: commctrl.h:4687
#define IDC_IBEAM
Definition: winuser.h:688

Referenced by DllMain().

◆ FLATSB_Register()

void FLATSB_Register ( void  )

Definition at line 267 of file flatsb.c.

268{
269 WNDCLASSW wndClass;
270
271 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
272 wndClass.style = CS_GLOBALCLASS;
274 wndClass.cbClsExtra = 0;
275 wndClass.cbWndExtra = sizeof(FLATSB_INFO *);
276 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
277 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
278 wndClass.lpszClassName = FLATSB_CLASSW;
279
280 RegisterClassW (&wndClass);
281}
static LRESULT WINAPI FlatSB_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: flatsb.c:244
static const WCHAR FLATSB_CLASSW[]
Definition: commctrl.h:51

Referenced by DllMain().

◆ FLATSB_Unregister()

void FLATSB_Unregister ( void  )

Definition at line 285 of file flatsb.c.

286{
288}

Referenced by DllMain().

◆ Free()

BOOL WINAPI Free ( LPVOID  lpMem)

Definition at line 116 of file comctl32undoc.c.

117{
118 return !LocalFree( lpMem );
119}
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594

◆ GetSize()

DWORD WINAPI GetSize ( LPVOID  lpMem)

Definition at line 135 of file comctl32undoc.c.

136{
137 return LocalSize( lpMem );
138}
SIZE_T NTAPI LocalSize(HLOCAL hMem)
Definition: heapmem.c:1794

Referenced by DECLARE_INTERFACE_(), and InitFunctionPtrs().

◆ HEADER_Register()

void HEADER_Register ( void  )

Definition at line 2288 of file header.c.

2289{
2290 WNDCLASSW wndClass;
2291
2292 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
2293 wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS;
2294 wndClass.lpfnWndProc = HEADER_WindowProc;
2295 wndClass.cbClsExtra = 0;
2296 wndClass.cbWndExtra = sizeof(HEADER_INFO *);
2297 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
2298 wndClass.lpszClassName = WC_HEADERW;
2299
2300 RegisterClassW (&wndClass);
2301}
static LRESULT WINAPI HEADER_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: header.c:2138
#define WC_HEADERW
Definition: commctrl.h:624

Referenced by DllMain().

◆ HEADER_Unregister()

void HEADER_Unregister ( void  )

Definition at line 2305 of file header.c.

2306{
2308}

Referenced by DllMain().

◆ HOTKEY_Register()

void HOTKEY_Register ( void  )

Definition at line 541 of file hotkey.c.

542{
543 WNDCLASSW wndClass;
544
545 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
546 wndClass.style = CS_GLOBALCLASS;
548 wndClass.cbClsExtra = 0;
549 wndClass.cbWndExtra = sizeof(HOTKEY_INFO *);
550 wndClass.hCursor = 0;
551 wndClass.hbrBackground = 0;
552 wndClass.lpszClassName = HOTKEY_CLASSW;
553
554 RegisterClassW (&wndClass);
555}
static LRESULT WINAPI HOTKEY_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: hotkey.c:466
#define HOTKEY_CLASSW
Definition: commctrl.h:2236

Referenced by DllMain().

◆ HOTKEY_Unregister()

void HOTKEY_Unregister ( void  )

Definition at line 559 of file hotkey.c.

560{
562}

Referenced by DllMain().

◆ IPADDRESS_Register()

void IPADDRESS_Register ( void  )

Definition at line 663 of file ipaddress.c.

664{
665 WNDCLASSW wndClass;
666
667 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
670 wndClass.cbClsExtra = 0;
671 wndClass.cbWndExtra = sizeof(IPADDRESS_INFO *);
672 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_IBEAM);
673 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
674 wndClass.lpszClassName = WC_IPADDRESSW;
675
676 RegisterClassW (&wndClass);
677}
static LRESULT WINAPI IPADDRESS_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: ipaddress.c:590
#define WC_IPADDRESSW
Definition: commctrl.h:4472

Referenced by DllMain().

◆ IPADDRESS_Unregister()

void IPADDRESS_Unregister ( void  )

Definition at line 680 of file ipaddress.c.

681{
683}

Referenced by DllMain().

◆ LISTBOX_Register()

void LISTBOX_Register ( void  )

Definition at line 3054 of file listbox.c.

3055{
3056 WNDCLASSW wndClass;
3057
3058 memset(&wndClass, 0, sizeof(wndClass));
3061 wndClass.cbClsExtra = 0;
3062 wndClass.cbWndExtra = sizeof(LB_DESCR *);
3063 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
3064 wndClass.hbrBackground = NULL;
3065 wndClass.lpszClassName = WC_LISTBOXW;
3066 RegisterClassW(&wndClass);
3067}
#define WC_LISTBOXW
Definition: commctrl.h:4711

Referenced by DllMain().

◆ LISTVIEW_Register()

void LISTVIEW_Register ( void  )

Definition at line 12016 of file listview.c.

12017{
12018 WNDCLASSW wndClass;
12019
12020 ZeroMemory(&wndClass, sizeof(WNDCLASSW));
12021 wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS;
12023 wndClass.cbClsExtra = 0;
12024 wndClass.cbWndExtra = sizeof(LISTVIEW_INFO *);
12025 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
12026 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
12027 wndClass.lpszClassName = WC_LISTVIEWW;
12028 RegisterClassW(&wndClass);
12029}
static LRESULT WINAPI LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: listview.c:11497
#define WC_LISTVIEWW
Definition: commctrl.h:2257

Referenced by DllMain().

◆ LISTVIEW_Unregister()

void LISTVIEW_Unregister ( void  )

Definition at line 12041 of file listview.c.

12042{
12044}

Referenced by DllMain().

◆ MirrorIcon()

BOOL WINAPI MirrorIcon ( HICON phicon1,
HICON phicon2 
)

Definition at line 1789 of file commctrl.c.

1790{
1791 FIXME("(%p, %p): stub\n", phicon1, phicon2);
1792 return FALSE;
1793}
#define FIXME(fmt,...)
Definition: debug.h:114

◆ MONTHCAL_CalculateDayOfWeek()

int MONTHCAL_CalculateDayOfWeek ( SYSTEMTIME date,
BOOL  inplace 
)

Definition at line 468 of file monthcal.c.

468 : (0 == sunday,..., 6 == saturday)
469 */
471{
472 SYSTEMTIME st = st_null;
473 FILETIME ft;
474
476
477 SystemTimeToFileTime(&st, &ft);
478 FileTimeToSystemTime(&ft, &st);
479
480 if (inplace) date->wDayOfWeek = st.wDayOfWeek;
481
static void MONTHCAL_CopyDate(const SYSTEMTIME *from, SYSTEMTIME *to)
Definition: monthcal.c:280
int MONTHCAL_CalculateDayOfWeek(SYSTEMTIME *date, BOOL inplace)
Definition: monthcal.c:468
static const SYSTEMTIME st_null
Definition: monthcal.c:150
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
Definition: time.c:188
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
Definition: time.c:158
unsigned int BOOL
Definition: ntddk_ex.h:94
__u16 date
Definition: mkdosfs.c:8
WORD wDayOfWeek
Definition: winbase.h:907

◆ MONTHCAL_CompareSystemTime()

LONG MONTHCAL_CompareSystemTime ( const SYSTEMTIME first,
const SYSTEMTIME second 
)

Definition at line 303 of file monthcal.c.

306{
307 FILETIME ft_first, ft_second;
308
309 SystemTimeToFileTime(first, &ft_first);
310 SystemTimeToFileTime(second, &ft_second);
311
const GLint * first
Definition: glext.h:5794

Referenced by DATETIME_IncreaseField(), DATETIME_IsDateInValidRange(), MONTHCAL_IsDateInValidRange(), and MONTHCAL_SetSelRange().

◆ MONTHCAL_MonthLength()

int MONTHCAL_MonthLength ( int  month,
int  year 
)

Definition at line 215 of file monthcal.c.

218{
219 const int mdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
220 /* Wrap around, this eases handling. Getting length only we shouldn't care
221 about year change here cause January and December have
222 the same day quantity */
223 if(month == 0)
224 month = 12;
225 else if(month == 13)
226 month = 1;
227
228 /* special case for calendar transition year */
229 if(month == min_allowed_date.wMonth && year == min_allowed_date.wYear) return 19;
230
231 /* if we have a leap year add 1 day to February */
232 /* a leap year is a year either divisible by 400 */
233 /* or divisible by 4 and not by 100 */
234 if(month == 2) { /* February */
235 return mdays[month - 1] + ((year%400 == 0) ? 1 : ((year%100 != 0) &&
236 (year%4 == 0)) ? 1 : 0);
237 }
238 else {
239 return mdays[month - 1];
static const SYSTEMTIME min_allowed_date
Definition: monthcal.c:153
static const WCHAR month[12][4]
Definition: session.c:2150
WORD wYear
Definition: winbase.h:905
WORD wMonth
Definition: winbase.h:906

◆ MONTHCAL_Register()

void MONTHCAL_Register ( void  )

Definition at line 3035 of file monthcal.c.

3038{
3039 WNDCLASSW wndClass;
3040
3041 ZeroMemory(&wndClass, sizeof(WNDCLASSW));
3042 wndClass.style = CS_GLOBALCLASS;
3044 wndClass.cbClsExtra = 0;
3045 wndClass.cbWndExtra = sizeof(MONTHCAL_INFO *);
3046 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
3047 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
3048 wndClass.lpszClassName = MONTHCAL_CLASSW;
3049
static LRESULT WINAPI MONTHCAL_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: monthcal.c:2883
#define MONTHCAL_CLASSW
Definition: commctrl.h:4175

Referenced by DllMain().

◆ MONTHCAL_Unregister()

void MONTHCAL_Unregister ( void  )

Definition at line 3053 of file monthcal.c.

3056{

Referenced by DllMain().

◆ NATIVEFONT_Register()

void NATIVEFONT_Register ( void  )

Definition at line 113 of file nativefont.c.

114{
115 WNDCLASSW wndClass;
116
117 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
118 wndClass.style = CS_GLOBALCLASS;
120 wndClass.cbClsExtra = 0;
121 wndClass.cbWndExtra = sizeof(NATIVEFONT_INFO *);
122 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
123 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
125
126 RegisterClassW (&wndClass);
127}
static LRESULT WINAPI NATIVEFONT_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: nativefont.c:75
#define WC_NATIVEFONTCTLW
Definition: commctrl.h:4606

Referenced by DllMain().

◆ NATIVEFONT_Unregister()

void NATIVEFONT_Unregister ( void  )

Definition at line 131 of file nativefont.c.

Referenced by DllMain().

◆ PAGER_Register()

void PAGER_Register ( void  )

Definition at line 1103 of file pager.c.

1104{
1105 WNDCLASSW wndClass;
1106
1107 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
1108 wndClass.style = CS_GLOBALCLASS;
1109 wndClass.lpfnWndProc = PAGER_WindowProc;
1110 wndClass.cbClsExtra = 0;
1111 wndClass.cbWndExtra = sizeof(PAGER_INFO *);
1112 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
1113 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);
1115
1116 RegisterClassW (&wndClass);
1117}
static LRESULT WINAPI PAGER_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: pager.c:1002
#define WC_PAGESCROLLERW
Definition: commctrl.h:4497

Referenced by DllMain().

◆ PAGER_Unregister()

void PAGER_Unregister ( void  )

Definition at line 1121 of file pager.c.

1122{
1124}

Referenced by DllMain().

◆ PROGRESS_Register()

void PROGRESS_Register ( void  )

Definition at line 748 of file progress.c.

749{
750 WNDCLASSW wndClass;
751
752 ZeroMemory (&wndClass, sizeof(wndClass));
755 wndClass.cbClsExtra = 0;
756 wndClass.cbWndExtra = sizeof (PROGRESS_INFO *);
757 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
759
760 RegisterClassW (&wndClass);
761}
static LRESULT WINAPI ProgressWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
Definition: progress.c:528
#define PROGRESS_CLASSW
Definition: commctrl.h:2176

Referenced by DllMain().

◆ PROGRESS_Unregister()

void PROGRESS_Unregister ( void  )

Definition at line 769 of file progress.c.

Referenced by DllMain().

◆ ReAlloc()

LPVOID WINAPI ReAlloc ( LPVOID  lpSrc,
DWORD  dwSize 
)

Definition at line 95 of file comctl32undoc.c.

96{
97 if (lpSrc)
99 else
101}
HLOCAL NTAPI LocalReAlloc(HLOCAL hMem, SIZE_T dwBytes, UINT uFlags)
Definition: heapmem.c:1625
#define LMEM_MOVEABLE
Definition: winbase.h:369

Referenced by Str_SetPtrAtoW(), and Str_SetPtrWtoA().

◆ REBAR_Register()

void REBAR_Register ( void  )

Definition at line 3826 of file rebar.c.

3827{
3828 WNDCLASSW wndClass;
3829
3830 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
3831 wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS;
3832 wndClass.lpfnWndProc = REBAR_WindowProc;
3833 wndClass.cbClsExtra = 0;
3834 wndClass.cbWndExtra = sizeof(REBAR_INFO *);
3835 wndClass.hCursor = 0;
3836 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
3837#if GLATESTING
3838 wndClass.hbrBackground = CreateSolidBrush(RGB(0,128,0));
3839#endif
3840 wndClass.lpszClassName = REBARCLASSNAMEW;
3841
3842 RegisterClassW (&wndClass);
3843
3846
3847}
static LRESULT WINAPI REBAR_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: rebar.c:3598
static UINT mindragy
Definition: rebar.c:271
static UINT mindragx
Definition: rebar.c:270
#define RGB(r, g, b)
Definition: precomp.h:71
#define REBARCLASSNAMEW
Definition: commctrl.h:1463
#define SM_CXDRAG
Definition: winuser.h:1028
#define SM_CYDRAG
Definition: winuser.h:1029
int WINAPI GetSystemMetrics(_In_ int)

Referenced by DllMain().

◆ REBAR_Unregister()

void REBAR_Unregister ( void  )

Definition at line 3851 of file rebar.c.

3852{
3854}

Referenced by DllMain().

◆ set_control_clipping()

HRGN set_control_clipping ( HDC  hdc,
const RECT rect 
)

Definition at line 239 of file button.c.

240{
241 RECT rc = *rect;
242 HRGN hrgn = CreateRectRgn( 0, 0, 0, 0 );
243
244 if (GetClipRgn( hdc, hrgn ) != 1)
245 {
247 hrgn = 0;
248 }
249 DPtoLP( hdc, (POINT *)&rc, 2 );
250 if (GetLayout( hdc ) & LAYOUT_RTL) /* compensate for the shifting done by IntersectClipRect */
251 {
252 rc.left++;
253 rc.right++;
254 }
255 IntersectClipRect( hdc, rc.left, rc.top, rc.right, rc.bottom );
256 return hrgn;
257}
static HRGN hrgn
DWORD WINAPI GetLayout(_In_ HDC hdc)
Definition: coord.c:750
& rect
Definition: startmenu.cpp:1413
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI DPtoLP(_In_ HDC hdc, _Inout_updates_(c) LPPOINT lppt, _In_ int c)
int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN)
#define LAYOUT_RTL
Definition: wingdi.h:1371

◆ SetPathWordBreakProc()

LRESULT WINAPI SetPathWordBreakProc ( HWND  hwnd,
BOOL  bSet 
)

Definition at line 1834 of file commctrl.c.

1835{
1837 (LPARAM)(bSet ? PathWordBreakProc : NULL));
1838}
static int CALLBACK PathWordBreakProc(LPCWSTR lpch, int ichCurrent, int cch, int code)
Definition: commctrl.c:1808
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define EM_SETWORDBREAKPROC
Definition: winuser.h:2020

Referenced by COMBOEX_SetExtendedStyle().

◆ STATIC_Register()

void STATIC_Register ( void  )

Definition at line 793 of file static.c.

794{
795 WNDCLASSW wndClass;
796
797 memset(&wndClass, 0, sizeof(wndClass));
800 wndClass.cbClsExtra = 0;
802 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
803 wndClass.hbrBackground = NULL;
804 wndClass.lpszClassName = WC_STATICW;
805 RegisterClassW(&wndClass);
806}
static LRESULT CALLBACK STATIC_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: static.c:327
#define STATIC_EXTRA_BYTES
Definition: static.c:61
#define WC_STATICW
Definition: commctrl.h:4680

Referenced by DllMain().

◆ STATUS_Register()

void STATUS_Register ( void  )

Definition at line 1337 of file status.c.

1338{
1339 WNDCLASSW wndClass;
1340
1341 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
1343 wndClass.lpfnWndProc = StatusWindowProc;
1344 wndClass.cbClsExtra = 0;
1345 wndClass.cbWndExtra = sizeof(STATUS_INFO *);
1346 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
1347 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
1349
1350 RegisterClassW (&wndClass);
1351}
static LRESULT WINAPI StatusWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: status.c:1178
#define STATUSCLASSNAMEW
Definition: commctrl.h:1936

Referenced by DllMain().

◆ STATUS_Unregister()

void STATUS_Unregister ( void  )

Definition at line 1361 of file status.c.

1362{
1364}

Referenced by DllMain().

◆ Str_GetPtrA()

INT WINAPI Str_GetPtrA ( LPCSTR  lpSrc,
LPSTR  lpDest,
INT  nMaxLen 
)

Definition at line 136 of file string.c.

137{
138 INT len;
139
140 TRACE("(%p %p %d)\n", lpSrc, lpDest, nMaxLen);
141
142 if ((!lpDest || nMaxLen == 0) && lpSrc)
143 return (strlen(lpSrc) + 1);
144
145 if (nMaxLen == 0)
146 return 0;
147
148 if (lpSrc == NULL) {
149 lpDest[0] = '\0';
150 return 0;
151 }
152
153 len = strlen(lpSrc) + 1;
154 if (len >= nMaxLen)
155 len = nMaxLen;
156
157 RtlMoveMemory (lpDest, lpSrc, len - 1);
158 lpDest[len - 1] = '\0';
159
160 return len;
161}
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GLenum GLsizei len
Definition: glext.h:6722
#define TRACE(s)
Definition: solgame.cpp:4
int32_t INT
Definition: typedefs.h:58
#define RtlMoveMemory(Destination, Source, Length)
Definition: typedefs.h:264

Referenced by InitFunctionPtrs().

◆ Str_GetPtrAtoW()

INT Str_GetPtrAtoW ( LPCSTR  lpSrc,
LPWSTR  lpDest,
INT  nMaxLen 
)

Definition at line 950 of file comctl32undoc.c.

951{
952 INT len;
953
954 TRACE("(%s %p %d)\n", debugstr_a(lpSrc), lpDest, nMaxLen);
955
956 if (!lpDest && lpSrc)
957 return MultiByteToWideChar(CP_ACP, 0, lpSrc, -1, 0, 0);
958
959 if (nMaxLen == 0)
960 return 0;
961
962 if (lpSrc == NULL) {
963 lpDest[0] = '\0';
964 return 0;
965 }
966
967 len = MultiByteToWideChar(CP_ACP, 0, lpSrc, -1, 0, 0);
968 if (len >= nMaxLen)
969 len = nMaxLen - 1;
970
971 MultiByteToWideChar(CP_ACP, 0, lpSrc, -1, lpDest, len);
972 lpDest[len] = '\0';
973
974 return len;
975}
#define CP_ACP
Definition: compat.h:109
#define MultiByteToWideChar
Definition: compat.h:110
#define debugstr_a
Definition: kernel32.h:31

Referenced by TOOLTIPS_GetDispInfoA().

◆ Str_GetPtrW()

INT WINAPI Str_GetPtrW ( LPCWSTR  lpSrc,
LPWSTR  lpDest,
INT  nMaxLen 
)

Definition at line 204 of file string.c.

205{
206 INT len;
207
208 TRACE("(%p %p %d)\n", lpSrc, lpDest, nMaxLen);
209
210 if (!lpDest && lpSrc)
211 return strlenW (lpSrc);
212
213 if (nMaxLen == 0)
214 return 0;
215
216 if (lpSrc == NULL) {
217 lpDest[0] = '\0';
218 return 0;
219 }
220
221 len = strlenW (lpSrc);
222 if (len >= nMaxLen)
223 len = nMaxLen - 1;
224
225 RtlMoveMemory (lpDest, lpSrc, len*sizeof(WCHAR));
226 lpDest[len] = '\0';
227
228 return len;
229}
#define strlenW(s)
Definition: unicode.h:34

Referenced by HEADER_GetItemT(), HEADER_PrepareCallbackItems(), InitFunctionPtrs(), REBAR_GetBandInfoT(), TAB_GetItemT(), TOOLBAR_GetButtonInfoT(), and TOOLTIPS_GetDispInfoW().

◆ Str_GetPtrWtoA()

INT Str_GetPtrWtoA ( LPCWSTR  lpSrc,
LPSTR  lpDest,
INT  nMaxLen 
)

Definition at line 909 of file comctl32undoc.c.

910{
911 INT len;
912
913 TRACE("(%s %p %d)\n", debugstr_w(lpSrc), lpDest, nMaxLen);
914
915 if (!lpDest && lpSrc)
916 return WideCharToMultiByte(CP_ACP, 0, lpSrc, -1, 0, 0, NULL, NULL);
917
918 if (nMaxLen == 0)
919 return 0;
920
921 if (lpSrc == NULL) {
922 lpDest[0] = '\0';
923 return 0;
924 }
925
926 len = WideCharToMultiByte(CP_ACP, 0, lpSrc, -1, 0, 0, NULL, NULL);
927 if (len >= nMaxLen)
928 len = nMaxLen - 1;
929
930 WideCharToMultiByte(CP_ACP, 0, lpSrc, -1, lpDest, len, NULL, NULL);
931 lpDest[len] = '\0';
932
933 return len;
934}
#define WideCharToMultiByte
Definition: compat.h:111
#define debugstr_w
Definition: kernel32.h:32

Referenced by HEADER_GetItemT(), REBAR_GetBandInfoT(), TAB_GetItemT(), and TOOLBAR_GetButtonInfoT().

◆ Str_SetPtrAtoW()

BOOL Str_SetPtrAtoW ( LPWSTR lppDest,
LPCSTR  lpSrc 
)

Definition at line 995 of file comctl32undoc.c.

996{
997 TRACE("(%p %s)\n", lppDest, lpSrc);
998
999 if (lpSrc) {
1000 INT len = MultiByteToWideChar(CP_ACP,0,lpSrc,-1,NULL,0);
1001 LPWSTR ptr = ReAlloc (*lppDest, len*sizeof(WCHAR));
1002
1003 if (!ptr)
1004 return FALSE;
1005 MultiByteToWideChar(CP_ACP,0,lpSrc,-1,ptr,len);
1006 *lppDest = ptr;
1007 }
1008 else {
1009 Free (*lppDest);
1010 *lppDest = NULL;
1011 }
1012
1013 return TRUE;
1014}
LPVOID WINAPI ReAlloc(LPVOID lpSrc, DWORD dwSize)
Definition: comctl32undoc.c:95
static PVOID ptr
Definition: dispmode.c:27
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free
Definition: exfuncs.h:815

Referenced by HEADER_CopyHDItemForNotify(), HEADER_PrepareCallbackItems(), HEADER_StoreHDItemInHeader(), REBAR_InsertBandT(), REBAR_SetBandInfoT(), set_string_index(), TAB_InsertItemT(), TAB_SetItemT(), and TOOLBAR_AddStringA().

◆ Str_SetPtrWtoA()

BOOL Str_SetPtrWtoA ( LPSTR lppDest,
LPCWSTR  lpSrc 
)

Definition at line 1033 of file comctl32undoc.c.

1034{
1035 TRACE("(%p %s)\n", lppDest, debugstr_w(lpSrc));
1036
1037 if (lpSrc) {
1039 LPSTR ptr = ReAlloc (*lppDest, len*sizeof(CHAR));
1040
1041 if (!ptr)
1042 return FALSE;
1044 *lppDest = ptr;
1045 }
1046 else {
1047 Free (*lppDest);
1048 *lppDest = NULL;
1049 }
1050
1051 return TRUE;
1052}
char * LPSTR
Definition: xmlstorage.h:182
char CHAR
Definition: xmlstorage.h:175

Referenced by HEADER_CopyHDItemForNotify(), and notify_forward_header().

◆ SYSLINK_Register()

void SYSLINK_Register ( void  )

Definition at line 1742 of file syslink.c.

1743{
1744 WNDCLASSW wndClass;
1745
1746 ZeroMemory (&wndClass, sizeof(wndClass));
1748 wndClass.lpfnWndProc = SysLinkWindowProc;
1749 wndClass.cbClsExtra = 0;
1750 wndClass.cbWndExtra = sizeof (SYSLINK_INFO *);
1751 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
1752 wndClass.lpszClassName = WC_LINK;
1753
1754 RegisterClassW (&wndClass);
1755}
#define WC_LINK
Definition: commctrl.h:4737

Referenced by DllMain().

◆ SYSLINK_Unregister()

void SYSLINK_Unregister ( void  )

Definition at line 1763 of file syslink.c.

1764{
1766}

Referenced by DllMain().

◆ TAB_Register()

void TAB_Register ( void  )

Definition at line 3480 of file tab.c.

3481{
3482 WNDCLASSW wndClass;
3483
3484 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
3486 wndClass.lpfnWndProc = TAB_WindowProc;
3487 wndClass.cbClsExtra = 0;
3488 wndClass.cbWndExtra = sizeof(TAB_INFO *);
3489 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
3490 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);
3491 wndClass.lpszClassName = WC_TABCONTROLW;
3492
3493 RegisterClassW (&wndClass);
3494}
static LRESULT WINAPI TAB_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: tab.c:3300
#define WC_TABCONTROLW
Definition: commctrl.h:3935
Definition: tab.c:93

Referenced by DllMain().

◆ TAB_Unregister()

void TAB_Unregister ( void  )

Definition at line 3498 of file tab.c.

3499{
3501}

Referenced by DllMain().

◆ THEMING_CallOriginalClass()

LRESULT THEMING_CallOriginalClass ( HWND  wnd,
UINT  msg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 208 of file theming.c.

209{
211 WNDPROC oldProc = originalProcs[subclass];
212 return CallWindowProcW (oldProc, wnd, msg, wParam, lParam);
213}
#define msg(x)
Definition: auth_time.c:54
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
static ATOM atSubclassProp
Definition: theming.c:64
static WNDPROC originalProcs[NUM_SUBCLASSES]
Definition: theming.c:62
int32_t INT_PTR
Definition: typedefs.h:64
#define MAKEINTATOM(i)
Definition: winbase.h:1463
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2906
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by THEMING_ScrollbarSubclassProc().

◆ THEMING_Initialize()

void THEMING_Initialize ( void  )

Definition at line 108 of file theming.c.

110{
111 unsigned int i;
112 static const WCHAR subclassPropName[] =
113 { 'C','C','3','2','T','h','e','m','i','n','g','S','u','b','C','l',0 };
114 static const WCHAR refDataPropName[] =
115 { 'C','C','3','2','T','h','e','m','i','n','g','D','a','t','a',0 };
116#ifdef __REACTOS__ /* r73803 */
117 ULONG_PTR ulCookie;
118 BOOL ret, bActivated;
119#else
120 if (!IsThemeActive()) return;
121#endif
122
123 atSubclassProp = GlobalAddAtomW (subclassPropName);
124 atRefDataProp = GlobalAddAtomW (refDataPropName);
125
126 for (i = 0; i < NUM_SUBCLASSES; i++)
127 {
128 WNDCLASSEXW class;
129
130 class.cbSize = sizeof(class);
131
132#ifdef __REACTOS__ /* r73803 */
133 bActivated = ActivateActCtx(hActCtx5, &ulCookie);
134 ret = GetClassInfoExW (NULL, subclasses[i].className, &class);
135 if (bActivated)
136 DeactivateActCtx(0, ulCookie);
137
138 if (!ret)
139#else
140 if (!GetClassInfoExW (NULL, subclasses[i].className, &class))
141#endif
142 {
143 ERR("Could not retrieve information for class %s\n",
144 debugstr_w (subclasses[i].className));
145 continue;
146 }
147 originalProcs[i] = class.lpfnWndProc;
148 class.lpfnWndProc = subclassProcs[i];
149#ifdef __REACTOS__ /* r73803 */
150 class.style |= CS_GLOBALCLASS;
151 class.hInstance = COMCTL32_hModule;
152#endif
153
154 if (!class.lpfnWndProc)
155 {
156 ERR("Missing proc for class %s\n",
157 debugstr_w (subclasses[i].className));
158 continue;
159 }
160
161#ifdef __REACTOS__ /* r73803 */
162 bActivated = ActivateActCtx(hActCtx6, &ulCookie);
163#endif
164 if (!RegisterClassExW (&class))
165 {
166#ifdef __REACTOS__ /* r73803 */
167 WARN("Could not re-register class %s: %x\n",
168#else
169 ERR("Could not re-register class %s: %x\n",
170#endif
171 debugstr_w (subclasses[i].className), GetLastError ());
172 }
173 else
174 {
175 TRACE("Re-registered class %s\n",
176 debugstr_w (subclasses[i].className));
177 }
178
179#ifdef __REACTOS__ /* r73803 */
180 if (bActivated)
181 DeactivateActCtx(0, ulCookie);
182#endif
183 }
184}
#define WARN(fmt,...)
Definition: debug.h:115
#define ERR(fmt,...)
Definition: debug.h:113
HMODULE COMCTL32_hModule
Definition: commctrl.c:79
BOOL WINAPI DeactivateActCtx(IN DWORD dwFlags, IN ULONG_PTR ulCookie)
Definition: actctx.c:268
BOOL WINAPI ActivateActCtx(IN HANDLE hActCtx, OUT PULONG_PTR ulCookie)
Definition: actctx.c:237
ATOM WINAPI GlobalAddAtomW(LPCWSTR lpString)
Definition: atom.c:444
BOOL WINAPI IsThemeActive(void)
Definition: system.c:606
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
UINT cbSize
Definition: winuser.h:3216
static const struct ThemingSubclass subclasses[]
static ATOM atRefDataProp
Definition: theming.c:63
static const WNDPROC subclassProcs[NUM_SUBCLASSES]
Definition: theming.c:92
#define NUM_SUBCLASSES
Definition: theming.c:60
uint32_t ULONG_PTR
Definition: typedefs.h:65
int ret
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
BOOL WINAPI GetClassInfoExW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSEXW)
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)

Referenced by DllMain().

◆ THEMING_SetSubclassData()

void THEMING_SetSubclassData ( HWND  wnd,
ULONG_PTR  refData 
)

Definition at line 220 of file theming.c.

221{
223}
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)

◆ THEMING_Uninitialize()

void THEMING_Uninitialize ( void  )

Definition at line 191 of file theming.c.

192{
193 unsigned int i;
194
195 if (!atSubclassProp) return; /* not initialized */
196
197 for (i = 0; i < NUM_SUBCLASSES; i++)
198 {
199 UnregisterClassW (subclasses[i].className, NULL);
200 }
201}

Referenced by DllMain().

◆ TOOLBAR_Register()

void TOOLBAR_Register ( void  )

Definition at line 7189 of file toolbar.c.

7190{
7191 WNDCLASSW wndClass;
7192
7193 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
7194 wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS;
7195 wndClass.lpfnWndProc = ToolbarWindowProc;
7196 wndClass.cbClsExtra = 0;
7197 wndClass.cbWndExtra = sizeof(TOOLBAR_INFO *);
7198 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
7199 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
7201
7202 RegisterClassW (&wndClass);
7203}
static LRESULT WINAPI ToolbarWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: toolbar.c:6764
#define TOOLBARCLASSNAMEW
Definition: commctrl.h:943

Referenced by DllMain().

◆ TOOLBAR_Unregister()

void TOOLBAR_Unregister ( void  )

Definition at line 7207 of file toolbar.c.

7208{
7210}

Referenced by DllMain().

◆ TOOLTIPS_Register()

void TOOLTIPS_Register ( void  )

Definition at line 2419 of file tooltips.c.

2420{
2421 WNDCLASSW wndClass;
2422
2423 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
2426 wndClass.cbClsExtra = 0;
2427 wndClass.cbWndExtra = sizeof(TOOLTIPS_INFO *);
2428 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
2429 wndClass.hbrBackground = 0;
2430 wndClass.lpszClassName = TOOLTIPS_CLASSW;
2431
2432 RegisterClassW (&wndClass);
2433
2441}
#define IDI_TT_WARN_SM
Definition: comctl32.h:107
#define IDI_TT_ERROR_SM
Definition: comctl32.h:108
#define IDI_TT_INFO_SM
Definition: comctl32.h:106
static LRESULT CALLBACK TOOLTIPS_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: tooltips.c:2239
static HICON hTooltipIcons[TTI_ERROR+1]
Definition: tooltips.c:109
#define TTI_NONE
Definition: commctrl.h:1779
#define TTI_INFO
Definition: commctrl.h:1780
#define TTI_ERROR
Definition: commctrl.h:1782
#define TTI_WARNING
Definition: commctrl.h:1781
#define IMAGE_ICON
Definition: winuser.h:212
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
Definition: cursoricon.c:2234
#define MAKEINTRESOURCE
Definition: winuser.h:591

Referenced by DllMain().

◆ TOOLTIPS_Unregister()

void TOOLTIPS_Unregister ( void  )

Definition at line 2445 of file tooltips.c.

2446{
2447 int i;
2448 for (i = TTI_INFO; i <= TTI_ERROR; i++)
2451}
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2084

Referenced by DllMain().

◆ TRACKBAR_Register()

void TRACKBAR_Register ( void  )

Definition at line 2049 of file trackbar.c.

2050{
2051 WNDCLASSW wndClass;
2052
2053 ZeroMemory (&wndClass, sizeof(WNDCLASSW));
2054 wndClass.style = CS_GLOBALCLASS;
2056 wndClass.cbClsExtra = 0;
2057 wndClass.cbWndExtra = sizeof(TRACKBAR_INFO *);
2058 wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
2059 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
2060 wndClass.lpszClassName = TRACKBAR_CLASSW;
2061
2062 RegisterClassW (&wndClass);
2063}
static LRESULT WINAPI TRACKBAR_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: trackbar.c:1860
#define TRACKBAR_CLASSW
Definition: commctrl.h:2011

Referenced by DllMain().

◆ TRACKBAR_Unregister()

void TRACKBAR_Unregister ( void  )

Definition at line 2066 of file trackbar.c.

2067{
2069}

Referenced by DllMain().

◆ TREEVIEW_Register()

void TREEVIEW_Register ( void  )

Definition at line 5940 of file treeview.c.

5941{
5942 WNDCLASSW wndClass;
5943
5944 TRACE("\n");
5945
5946 ZeroMemory(&wndClass, sizeof(WNDCLASSW));
5947 wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS;
5949 wndClass.cbClsExtra = 0;
5950 wndClass.cbWndExtra = sizeof(TREEVIEW_INFO *);
5951
5952 wndClass.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW);
5953 wndClass.hbrBackground = 0;
5954 wndClass.lpszClassName = WC_TREEVIEWW;
5955
5956 RegisterClassW(&wndClass);
5957}
static LRESULT WINAPI TREEVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: treeview.c:5669
#define WC_TREEVIEWW
Definition: commctrl.h:3243

Referenced by DllMain().

◆ TREEVIEW_Unregister()

void TREEVIEW_Unregister ( void  )

Definition at line 5961 of file treeview.c.

5962{
5964}

Referenced by DllMain().

◆ UPDOWN_Register()

void UPDOWN_Register ( void  )

Definition at line 1175 of file updown.c.

1176{
1177 WNDCLASSW wndClass;
1178
1179 ZeroMemory( &wndClass, sizeof( WNDCLASSW ) );
1181 wndClass.lpfnWndProc = UpDownWindowProc;
1182 wndClass.cbClsExtra = 0;
1183 wndClass.cbWndExtra = sizeof(UPDOWN_INFO*);
1184 wndClass.hCursor = LoadCursorW( 0, (LPWSTR)IDC_ARROW );
1185 wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
1186 wndClass.lpszClassName = UPDOWN_CLASSW;
1187
1188 RegisterClassW( &wndClass );
1189}
static LRESULT WINAPI UpDownWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
Definition: updown.c:890
#define UPDOWN_CLASSW
Definition: commctrl.h:2119

Referenced by DllMain().

◆ UPDOWN_Unregister()

void UPDOWN_Unregister ( void  )

Definition at line 1197 of file updown.c.

1198{
1200}

Referenced by DllMain().

Variable Documentation

◆ DECLSPEC_HIDDEN

COMCTL32_SysColor comctl32_color DECLSPEC_HIDDEN
extern

Definition at line 47 of file comctl32.h.