1 #pragma once 2 3 #define CLBS_NOTIFY 0x1 4 #define CLBS_SORT 0x2 5 #define CLBS_DISABLENOSCROLL 0x1000 6 #define CLBS_VSCROLL 0x200000 7 #define CLBS_BORDER 0x800000 8 #define CLBS_POPOUT_HEADINGS 0x200 9 #define CLBS_SPRINGLY_COLUMNS 0x0 10 11 typedef struct _CLBS_INFO 12 { 13 DWORD Style; 14 DWORD Unknown; /* FIXME - ExStyle??? */ 15 LPCWSTR StyleName; 16 } CLBS_INFO, *LPCLBS_INFO; 17 18 typedef struct _CUSTOM_CONTROL_INFO 19 { 20 WCHAR ClassName[32]; 21 DWORD Zero1; /* sizeof(DWORD) or sizeof(PVOID)? */ 22 WCHAR ClassName2[32]; 23 DWORD Unknown1; /* FIXME - size correct? */ 24 DWORD Unknown2; /* FIXME - size correct? */ 25 DWORD Unknown3; /* FIXME - size correct? */ 26 DWORD Zero2; /* FIXME - size correct? */ 27 DWORD Zero3; /* FIXME - size correct? */ 28 DWORD StylesCount; 29 const CLBS_INFO *SupportedStyles; 30 WCHAR Columns[256]; 31 INT_PTR (WINAPI *ClbStyleW)(IN HWND hWndParent, 32 IN LPARAM dwInitParam); 33 DWORD Zero4; /* FIXME - size correct? */ 34 DWORD Zero5; /* FIXME - size correct? */ 35 DWORD Zero6; /* FIXME - size correct? */ 36 } CUSTOM_CONTROL_INFO, *LPCUSTOM_CONTROL_INFO; 37 38 LRESULT CALLBACK ClbWndProc(HWND,UINT,WPARAM,LPARAM); 39 INT_PTR WINAPI ClbStyleW(HWND,LPARAM); 40 BOOL WINAPI CustomControlInfoW(LPCUSTOM_CONTROL_INFO); 41