1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
HWND BsolListView::BsolLvCreate (BsolWindow * prntWnd_p) {
DWORD style_v, styleEx_v;
int X_v, Y_v, W_v, H_v, ctrlId_v;
X_v = this->LvClass.X;
Y_v = this->LvClass.Y;
W_v = this->LvClass.width;
H_v = this->LvClass.hight;
ctrlId_v = this->LvClass.ctrlId;
styleEx_v = LVS_EX_FULLROWSELECT
| LVS_EX_DOUBLEBUFFER
| LVS_EX_LABELTIP
| LVS_EX_INFOTIP
// | LVS_EX_GRIDLINES
// | LVS_EX_SUBITEMIMAGES
// | LVS_EX_ONECLICKACTIVATE
// | LVS_EX_TWOCLICKACTIVATE
// | LVS_EX_BORDERSELECT
// | LVS_EX_TRACKSELECT
// | LVS_EX_TRANSPARENTBKGND // see WM_PRINTCLIENT
;
style_v = WS_CHILD
// | WS_SIZEBOX
// | WS_SYSMENU
| WS_BORDER
// | WS_CAPTION
| LVS_OWNERDATA
| LVS_EDITLABELS
| LVS_REPORT
// | LVS_EX_GRIDLINES
;
this->LvWnd = CreateWindowEx(NULL, WC_LISTVIEW, TEXT("List Of Values"),
style_v, X_v, Y_v, W_v, H_v,
prntWnd_p->BsolGetWndHandle(),
(HMENU)ctrlId_v, prntWnd_p->BsolGetInstance(),
NULL);
lvOriginWndProc_g = (WNDPROC)SetWindowLong (this->LvWnd, GWL_WNDPROC,
(long)BsolListViewProcedure);
ListView_SetExtendedListViewStyle (this->LvWnd, styleEx_v);
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_STANDARD_CLASSES
| ICC_COOL_CLASSES
| ICC_LISTVIEW_CLASSES
;
// Initialize ListView Columns
this->BsolLvInitColumns();
ListView_SetItemCountEx (this->LvWnd, this->LvClass.extra2,
LVSICF_NOINVALIDATEALL);
ShowWindow (this->LvWnd, SW_SHOW);
return this->LvWnd;
}
|