Ich habe ein Fenster mit einem Dutzend kleinerer Fenster drin, die jeweils eine einfache .bmp grafik anzeigen
Diese .bmp ist aber rund, sprich ein rechteckiges Image, von dem ich die Ecken nicht mitzeichnen will
Also möchte ich den kleinen Fenstern eine runde Region zuordnen, die genauso breit und hoch ist wie das Fenster, nur halt rund, so dass die Ecken transparent bleiben
Ich habe schon gegoogelt und ein paar Tutorials gefunden, aber so richtig blicke ich zwischen
HRGN CreateEllipticRgn()
und wie man das anwendet nicht durch
Kann eventuell mal einer für doofe erklären, an welcher Stelle man die Region created and was man zwischen
BeginPaint()
und
EndPaint()
sonst noch ändern muss, damit nur der runde Ausschnitt gezeichnet wird?
danke im voraus
Diese .bmp ist aber rund, sprich ein rechteckiges Image, von dem ich die Ecken nicht mitzeichnen will
Also möchte ich den kleinen Fenstern eine runde Region zuordnen, die genauso breit und hoch ist wie das Fenster, nur halt rund, so dass die Ecken transparent bleiben
Ich habe schon gegoogelt und ein paar Tutorials gefunden, aber so richtig blicke ich zwischen
HRGN CreateEllipticRgn()
und wie man das anwendet nicht durch
Kann eventuell mal einer für doofe erklären, an welcher Stelle man die Region created and was man zwischen
BeginPaint()
und
EndPaint()
sonst noch ändern muss, damit nur der runde Ausschnitt gezeichnet wird?
Code:
case WM_PAINT:
HDC hdc;
HBITMAP g_hbmtest = NULL;
BITMAP bm;
PAINTSTRUCT ps;
g_hbmtest = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_TEST1));
hdc = BeginPaint(SubWindow1, &ps);
HDC hdcMem = CreateCompatibleDC(hdc);
HBITMAP hbmOld = (HBITMAP)SelectObject(hdcMem, g_hbmtest);
GetObject(g_hbmtest, sizeof(bm), &bm);
BitBlt(hdc, 10, 10, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);
DeleteObject(g_hbmtest);
SelectObject(hdcMem, hbmOld);
DeleteDC(hdcMem);
EndPaint(SubWindow1, &ps);
break;
danke im voraus