Skinned border
-
Hallo *,
ich habe folgendes Problem. Ich will "border" und "caption" meines Fensters selbst zeichnen. Dazu habe ich folgenden Code zusammengebaut bzw ergoogelt.
Leider bekomme ich nichts zu sehen von dem Rand den ich gezeichnet habe und wenn ich das Fenster minimiere und dann wieder maximiere wird sogar der normale Rand gezeichnet.
Hat jemand eine Idee wie man sowas richtig macht?Danke und Gruss
adaptocase WM_NCPAINT: HDC hDC; HBRUSH hBrush; RECT mainRC; hDC = GetDCEx(hWnd, (HRGN)wParam, DCX_WINDOW); GetWindowRect(hWnd, &mainRC); hBrush = CreateSolidBrush(RGB(0x00, 0x00, 0x00)); FrameRect(hDC, &mainRC, hBrush); FillRect(hDC, &mainRC, hBrush); ReleaseDC(hWnd, hDC); return TRUE;
-
Wie so oft! RTFM (Read the fine MSDN)
http://msdn2.microsoft.com/en-us/ms534905.aspx
Zitat:
Return Values
An application returns zero if it processes this message.
-
Return Values
An application returns zero if it processes this message.Ja, das habe ich vorher auch stets so gehandhabt, aber dann wird nur die Windows eigene Umrandung gezeichnet. Von meinem "FrameRect" ist leider nichts zu sehen.
-
DCX_INTERSECTRGN ist nicht gesetzt. Ansonsten schau Dir Beispiele bei www.codeproject.com an.
-
DCX_INTERSECTRGN ist nicht gesetzt.
Ja, damit habe ich auch schon herumgetestet. Hat leider nichts gebracht.
Ansonsten schau Dir Beispiele bei www.codeproject.com an.
Leider kann ich zu diesem Thema dort kein passendes finden. Habe gestern den ganzen Tag mit google und co. verbracht.
Trotzdem danke. Gruss adapto