"Bitmap auf Button" Problem

Hallasas

Erfahrenes Mitglied
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:
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:
Also einfach das Rectangle() wegnehmen, und dann funktioniert es...
Doch nun weiß ich nicht, wie ich den Text auf den Buttons plazieren kann :(

Ich hoffe, ihr könnt mir helfen...

Gruß Hallasas
 
Zurück