Hintergrund einer Trackbar?
-
guten abend zusammen!
bin in winapi noch nicht so gewieft, also eine frage:
wie ändere ich die hintergrundfarbe einer trackbar? gibt es eine WM_CTLCOLORSTATIC ähnliche message für das gute Stück? oder funktioniert das über irgendeine TBM_... nachricht?häng nun schon ziemlich lange an diesem Problem! kann mir jemand helfen?
danke, tschoe
-
Die Trackbars verwenden das CustomDraw-Feature (siehe NM_CUSTOMDRAW). Bevor die einzelnen Items der Trackbar gezeichnet werden, kannst Du den Hintergrund setzen und für alles weitere die Default-Aktionen laufen lassen:
case WM_NOTIFY: switch(((LPNMHDR)lParam)->code) { case NM_CUSTOMDRAW: if(((NMCUSTOMDRAW*)lParam)->dwDrawStage == CDDS_PREPAINT) { RECT rc; GetClientRect(((LPNMHDR)lParam)->hwndFrom, &rc); FillRect(((NMCUSTOMDRAW*)lParam)->hdc, &rc, (HBRUSH)(COLOR_WINDOW + 1)); SetWindowLongPtr(hWnd, DWLP_MSGRESULT, (LONG_PTR)CDRF_DODEFAULT); return(TRUE); } break; default: break; } break;
-
klasse, es funktioniert! allerdings erst nachdem ich
"SetWindowLongPtr(hWnd, DWLP_MSGRESULT, (LONG_PTR)CDRF_DODEFAULT);"
durch
"SetWindowLong(hwnd, DWL_MSGRESULT, (LONG)CDRF_DODEFAULT);"
ersetzt hab! bin da wahrscheinlich nicht mehr ganz auf der höhe der zeit!vielen dank, tschoe