ReactOS 0.4.16-dev-456-ga97fcf1
clb.c File Reference
#include <precomp.h>
Include dependency graph for clb.c:

Go to the source code of this file.

Classes

struct  _CLB_PRIVATEDATA
 

Typedefs

typedef struct _CLB_PRIVATEDATA CLB_PRIVATEDATA
 
typedef struct _CLB_PRIVATEDATAPCLB_PRIVATEDATA
 

Functions

DWORD WINAPI ClbAddData (IN DWORD Unknown1, IN DWORD Unknown2, IN DWORD Unknown3)
 
DWORD WINAPI ClbSetColumnWidths (IN DWORD Unknown1, IN DWORD Unknown2, IN DWORD Unknown3)
 
LRESULT CALLBACK ClbWndProc (IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
 
static INT_PTR CALLBACK ClbpStyleDlgProc (IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
 
INT_PTR WINAPI ClbStyleW (IN HWND hWndParent, IN LPARAM dwInitParam)
 
BOOL WINAPI CustomControlInfoW (OUT LPCUSTOM_CONTROL_INFO CustomControlInfo OPTIONAL)
 
BOOL WINAPI DllMain (IN HINSTANCE hinstDLL, IN DWORD dwReason, IN LPVOID lpvReserved)
 

Variables

static HINSTANCE hDllInstance
 
static const WCHAR ClbClassName [] = L"ColumnListBox"
 
static const WCHAR ClbColumns [] = L"Column1;Column2;Column3"
 
static const CLBS_INFO ClbsSupportedStyles []
 

Typedef Documentation

◆ CLB_PRIVATEDATA

◆ PCLB_PRIVATEDATA

Function Documentation

◆ ClbAddData()

DWORD WINAPI ClbAddData ( IN DWORD  Unknown1,
IN DWORD  Unknown2,
IN DWORD  Unknown3 
)

Definition at line 68 of file clb.c.

71{
72 DPRINT1("ClbAddData(0x%x, 0x%x, 0x%x)\n", Unknown1, Unknown2, Unknown3);
73 return 0;
74}
#define DPRINT1
Definition: precomp.h:8
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
Definition: conport.c:37

◆ ClbpStyleDlgProc()

static INT_PTR CALLBACK ClbpStyleDlgProc ( IN HWND  hwndDlg,
IN UINT  uMsg,
IN WPARAM  wParam,
IN LPARAM  lParam 
)
static

Definition at line 138 of file clb.c.

142{
143 INT_PTR Ret = FALSE;
144
145 DPRINT1("ClbpStyleDlgProc(0x%p, 0x%x, 0x%p, 0x%p)\n", hwndDlg, uMsg, wParam, lParam);
146
147 switch (uMsg)
148 {
149 case WM_COMMAND:
150 switch (LOWORD(wParam))
151 {
152 case IDOK:
153 case IDCANCEL:
154 EndDialog(hwndDlg, LOWORD(wParam));
155 break;
156 }
157 break;
158
159 case WM_CLOSE:
160 EndDialog(hwndDlg, IDCANCEL);
161 break;
162
163 case WM_INITDIALOG:
164 Ret = TRUE;
165 break;
166 }
167
168 return Ret;
169}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define LOWORD(l)
Definition: pedump.c:82
int32_t INT_PTR
Definition: typedefs.h:64
#define WM_CLOSE
Definition: winuser.h:1624
#define IDCANCEL
Definition: winuser.h:834
#define WM_COMMAND
Definition: winuser.h:1743
#define WM_INITDIALOG
Definition: winuser.h:1742
#define IDOK
Definition: winuser.h:833
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)

Referenced by ClbStyleW().

◆ ClbSetColumnWidths()

DWORD WINAPI ClbSetColumnWidths ( IN DWORD  Unknown1,
IN DWORD  Unknown2,
IN DWORD  Unknown3 
)

Definition at line 81 of file clb.c.

84{
85 DPRINT1("ClbSetColumnWidths(0x%x, 0x%x, 0x%x)\n", Unknown1, Unknown2, Unknown3);
86 return 0;
87}

◆ ClbStyleW()

INT_PTR WINAPI ClbStyleW ( IN HWND  hWndParent,
IN LPARAM  dwInitParam 
)

Definition at line 176 of file clb.c.

178{
183 dwInitParam);
184}
#define IDD_COLUMNLISTBOXSTYLES
Definition: resource.h:3
static INT_PTR CALLBACK ClbpStyleDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
Definition: clb.c:138
static HINSTANCE hDllInstance
Definition: clb.c:9
#define DialogBoxParam
Definition: winuser.h:5776
#define MAKEINTRESOURCE
Definition: winuser.h:591

Referenced by CustomControlInfoW().

◆ ClbWndProc()

LRESULT CALLBACK ClbWndProc ( IN HWND  hwnd,
IN UINT  uMsg,
IN WPARAM  wParam,
IN LPARAM  lParam 
)

Definition at line 94 of file clb.c.

98{
99 PCLB_PRIVATEDATA PrivData;
100 LRESULT Ret = 0;
101
102 DPRINT1("ClbWndProc(0x%p, 0x%x, 0x%p, 0x%p)\n", hwnd, uMsg, wParam, lParam);
103
104 PrivData = (PCLB_PRIVATEDATA)GetWindowLongPtr(hwnd, 0);
105 if (PrivData == NULL && uMsg != WM_CREATE)
106 {
107 goto HandleDefMsg;
108 }
109
110 switch (uMsg)
111 {
112 case WM_CREATE:
113 PrivData = HeapAlloc(GetProcessHeap(),
114 0,
115 sizeof(CLB_PRIVATEDATA));
116 if (PrivData == NULL)
117 {
118 Ret = (LRESULT)-1;
119 break;
120 }
121 PrivData->hwnd = hwnd;
122 break;
123
124 case WM_DESTROY:
125 HeapFree(GetProcessHeap(), 0, PrivData);
126 break;
127
128 default:
129HandleDefMsg:
130 Ret = DefWindowProc(hwnd, uMsg, wParam, lParam);
131 break;
132 }
133
134 return Ret;
135}
struct _CLB_PRIVATEDATA * PCLB_PRIVATEDATA
#define NULL
Definition: types.h:112
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
#define LRESULT
Definition: ole.h:14
#define DefWindowProc
Definition: ros2win.h:31
HWND hwnd
Definition: clb.c:16
#define GetWindowLongPtr
Definition: treelist.c:73
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LONG_PTR LRESULT
Definition: windef.h:209
#define WM_CREATE
Definition: winuser.h:1611
#define WM_DESTROY
Definition: winuser.h:1612

Referenced by DllMain().

◆ CustomControlInfoW()

BOOL WINAPI CustomControlInfoW ( OUT LPCUSTOM_CONTROL_INFO CustomControlInfo  OPTIONAL)

Definition at line 191 of file clb.c.

192{
193 if (CustomControlInfo != NULL)
194 {
195 wcscpy(CustomControlInfo->ClassName, ClbClassName);
196
197 CustomControlInfo->Zero1 = 0;
198
199 wcscpy(CustomControlInfo->ClassName2, ClbClassName);
200
201 CustomControlInfo->Unknown1 = 0x60; // FIXME - ???
202 CustomControlInfo->Unknown2 = 0x50; // FIXME - ???
203 CustomControlInfo->Unknown3 = 0x50A10013; // FIXME - ???
204
205 CustomControlInfo->Zero2 = 0;
206 CustomControlInfo->Zero3 = 0;
207
208 CustomControlInfo->StylesCount = _countof(ClbsSupportedStyles);
209 CustomControlInfo->SupportedStyles = ClbsSupportedStyles;
210
211 wcscpy(CustomControlInfo->Columns, ClbColumns);
212
213 CustomControlInfo->ClbStyleW = ClbStyleW;
214
215 CustomControlInfo->Zero4 = 0;
216 CustomControlInfo->Zero5 = 0;
217 CustomControlInfo->Zero6 = 0;
218 }
219
220 return TRUE;
221}
static const WCHAR ClbColumns[]
Definition: clb.c:12
static const WCHAR ClbClassName[]
Definition: clb.c:11
INT_PTR WINAPI ClbStyleW(IN HWND hWndParent, IN LPARAM dwInitParam)
Definition: clb.c:176
static const CLBS_INFO ClbsSupportedStyles[]
Definition: clb.c:19
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
#define _countof(array)
Definition: sndvol32.h:70

◆ DllMain()

BOOL WINAPI DllMain ( IN HINSTANCE  hinstDLL,
IN DWORD  dwReason,
IN LPVOID  lpvReserved 
)

Definition at line 225 of file clb.c.

228{
229 BOOL Ret = TRUE;
230
231 switch (dwReason)
232 {
234 {
235 WNDCLASS ClbWndClass;
236
237 hDllInstance = hinstDLL;
238
240
241 /* register the control's window class */
242 ClbWndClass.style = CS_GLOBALCLASS | CS_OWNDC;
243 ClbWndClass.lpfnWndProc = ClbWndProc;
244 ClbWndClass.cbClsExtra = 0;
245 ClbWndClass.cbWndExtra = sizeof(PCLB_PRIVATEDATA);
246 ClbWndClass.hInstance = hinstDLL;
247 ClbWndClass.hIcon = NULL;
248 ClbWndClass.hCursor = LoadCursor(NULL, (LPWSTR)IDC_ARROW);
249 ClbWndClass.hbrBackground = NULL;
250 ClbWndClass.lpszMenuName = NULL;
251 ClbWndClass.lpszClassName = ClbClassName;
252
253 if (!RegisterClass(&ClbWndClass))
254 {
255 Ret = FALSE;
256 break;
257 }
258 break;
259 }
260
263 break;
264
266 UnregisterClass(ClbClassName, hinstDLL);
267 break;
268 }
269 return Ret;
270}
DWORD dwReason
Definition: misc.cpp:141
LRESULT CALLBACK ClbWndProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
Definition: clb.c:94
VOID WINAPI InitCommonControls(void)
Definition: commctrl.c:870
#define DLL_THREAD_DETACH
Definition: compat.h:133
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
#define DLL_PROCESS_DETACH
Definition: compat.h:130
#define DLL_THREAD_ATTACH
Definition: compat.h:132
unsigned int BOOL
Definition: ntddk_ex.h:94
HBRUSH hbrBackground
Definition: winuser.h:3173
HICON hIcon
Definition: winuser.h:3171
HINSTANCE hInstance
Definition: winuser.h:3170
HCURSOR hCursor
Definition: winuser.h:3172
int cbWndExtra
Definition: winuser.h:3169
UINT style
Definition: winuser.h:3166
LPCSTR lpszMenuName
Definition: winuser.h:3174
LPCSTR lpszClassName
Definition: winuser.h:3175
WNDPROC lpfnWndProc
Definition: winuser.h:3167
int cbClsExtra
Definition: winuser.h:3168
#define IDC_ARROW
Definition: winuser.h:687
#define UnregisterClass
Definition: winuser.h:5873
#define LoadCursor
Definition: winuser.h:5824
#define CS_GLOBALCLASS
Definition: winuser.h:652
#define CS_OWNDC
Definition: winuser.h:655
#define RegisterClass
Definition: winuser.h:5848
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Variable Documentation

◆ ClbClassName

const WCHAR ClbClassName[] = L"ColumnListBox"
static

Definition at line 11 of file clb.c.

Referenced by CustomControlInfoW(), and DllMain().

◆ ClbColumns

const WCHAR ClbColumns[] = L"Column1;Column2;Column3"
static

Definition at line 12 of file clb.c.

Referenced by CustomControlInfoW().

◆ ClbsSupportedStyles

const CLBS_INFO ClbsSupportedStyles[]
static

Definition at line 19 of file clb.c.

Referenced by CustomControlInfoW().

◆ hDllInstance