F
case WM_DRAWITEM:
#define lpdis (LPDRAWITEMSTRUCT) lParam;
hdcMem = CreateCompatibleDC (lpdis->hDC);
if (lpdis->itemState & ODS_SELECTED)
{
if (lpdis->CtlID == BTN_CLOSE)
SelectObject (hdcMem, LoadBitmap (g_hInst, MAKEINTRESOURCE (CLOSEP_BMP)));
else if (lpdis->CtlID == BTN_TRAY)
SelectObject (hdcMem, LoadBitmap (g_hInst, MAKEINTRESOURCE (TRAYP_BMP)));
else if (lpdis->CtlID == BTN_MINIMIZE)
SelectObject (hdcMem, LoadBitmap (g_hInst, MAKEINTRESOURCE (MINIP_BMP)));
}
else
{
if (lpdis->CtlID == BTN_CLOSE)
SelectObject (hdcMem, LoadBitmap (g_hInst, MAKEINTRESOURCE (CLOSEN_BMP)));
else if (lpdis->CtlID == BTN_TRAY)
SelectObject (hdcMem, LoadBitmap (g_hInst, MAKEINTRESOURCE (TRAYN_BMP)));
else if (lpdis->CtlID == BTN_MINIMIZE)
SelectObject (hdcMem, LoadBitmap (g_hInst, MAKEINTRESOURCE (MININ_BMP)));
}
StretchBlt (lpdis->hDC, lpdis->rcItem.left, lpdis->rcItem.top, lpdis->rcItem.right - lpdis->rcItem.left, lpdis->rcItem.bottom - lpdis->rcItem.top, hdcMem, 0, 0, 20, 20, SRCCOPY);
DeleteDC (hdcMem);
#undef lpdis
return 0;
ist nur so als Beispiel...
EDIT: für die zukunft: sowas steht alles in der doku