Hallo Community !
Diesmal handelt es sich um folgendes:
Ich möchte meinen Button neu zeichnen, doch dies ist schwerer, als ich dachte.
Der Button hat den Style BS_OWNERDRAW und nun versuche ich, den Button neu zu erstellen:
Es gibt keine Probleme beim Kompilieren, jedoch sehe ich nur einen weißen Kasten, der schwarz umrandet ist...
Gruß Hallasas
Diesmal handelt es sich um folgendes:
Ich möchte meinen Button neu zeichnen, doch dies ist schwerer, als ich dachte.
Der Button hat den Style BS_OWNERDRAW und nun versuche ich, den Button neu zu erstellen:
C++:
case WM_DRAWITEM:
{
switch(((LPDRAWITEMSTRUCT)(lParam))->CtlType)
{
case ODT_BUTTON:
{
HDC hdc = ((LPDRAWITEMSTRUCT)(lParam))->hDC;
if (((LPDRAWITEMSTRUCT)(lParam))->itemState & ODS_SELECTED)
{
HBITMAP hBitmap;
hBitmap = (HBITMAP) LoadImage(NULL,"select.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HDC hdcMem = CreateCompatibleDC(hdc);
SelectObject (hdcMem, hBitmap);
}
else
if (((LPDRAWITEMSTRUCT)(lParam))->itemState & ODS_DEFAULT)
{
HBITMAP hBitmap;
hBitmap = (HBITMAP) LoadImage(NULL,"default.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HDC hdcMem = CreateCompatibleDC(hdc);
SelectObject (hdcMem, hBitmap);
}
Rectangle( hdc , 0, 0,
((LPDRAWITEMSTRUCT)(lParam))->rcItem.right,
((LPDRAWITEMSTRUCT)(lParam))->rcItem.bottom );
DeleteObject(SelectObject(hdc,GetStockObject(WHITE_BRUSH)));
}
}
return 0;
}
Es gibt keine Probleme beim Kompilieren, jedoch sehe ich nur einen weißen Kasten, der schwarz umrandet ist...
Gruß Hallasas
Zuletzt bearbeitet von einem Moderator: