WM_MEASUREITEM: MEASUREITEMSTRUCT mis = (MEASUREITEMSTRUCT)lParam, klappt nicht!
-
Wieso geht das nicht????
case WM_MEASUREITEM: { MEASUREITEMSTRUCT mis = (MEASUREITEMSTRUCT)lParam; switch( mis.CtlID ) { case ID_LISTBOX: { MessageBox( 0, "", "", MB_OK ); break; } } break; }Gruß Tobi.
-
hmm ok anscheint muss man LPMEASUREITEMSTRUCT benutzen.
gruß Tobi.
-
aber evtl. doch noch in diesem Thread, weil wollte jetzt nicht extra ein neuen machen, wie mache ich es das ich die einzeln eingefuegten Elemente unterschiedlich färbe, weil so:
case WM_DRAWITEM: { LPDRAWITEMSTRUCT lpDis = (LPDRAWITEMSTRUCT)lParam; switch( lpDis->CtlID ) { case ID_LISTBOX: { HBRUSH hBack = CreateSolidBrush( RGB( 235, 235, 255 ) ); if( ( SendMessage( lpDis->hwndItem, LB_GETCOUNT, 0, 0 ) % 2 ) != 0 ) { ::FillRect( lpDis->hDC, &lpDis->rcItem, hBack ); } break; } } break; }gehts nicht.
-
also ich such ja selber schon bei google ect. aber finden tue ich eigentlich nur MFC Kram.
Please Help! o.O
-
case WM_DRAWITEM: #define lpDis ((DRAWITEMSTRUCT*) lParam) COLORREF bgColor; RECT rc; switch (lpDis->CtlID) { case ID_LISTBOX: if (lpDis->itemState & ODS_SELECTED) bgColor = RGB (215, 230, 215); else { if (lpDis->itemID % 2 == 0) bgColor = RGB (255, 255, 255); else bgColor = RGB (245, 245, 245); } HBRUSH hbr = CreateSolidBrush (bgColor); FillRect (lpDis->hDC, &lpDis->rcItem, hbr); DeleteObject (hbr); break; } #undef lpDis break;
-
oh danke.Gruß Tobi.