WM_NCPAINT will meinen Fensterrahmen nicht bemalen
-
ich habe folgendes getreu der MSDN Seite in meine WndProc-Funktion geschrieben:
if(message == WM_NCPAINT) { HDC hdc = GetDCEx(hWnd, (HRGN)wParam, DCX_WINDOW | DCX_INTERSECTRGN); Rectangle(hdc, 0, 0, 50, 50); ReleaseDC(hWnd, hdc); }
Allerdings sieht man im oberen linken Eck der Titelleiste meiner Anwendung keinerlei Veränderung...obwohl ich in der style Variable meiner WNDCLASSEX auch CS_OWNDC angegeben habe (steht auch auf der MSDN-Seite).
Kann mir bitte jemand sagen, was ich falsch mache?
Ich will nämlich unbedingt meiner Anwendung einen ganz besonderen Look verpassenDanke schonmal für eure Antworten!
Tobias
-
Camel69 schrieb:
Ich will nämlich unbedingt meiner Anwendung einen ganz besonderen Look verpassen
Wahrscheinlich sehr zur Freude all der jenigen die sich unter WindowsXP eine eigene Theme installiert haben. Ich kann auch als Windows2000 Benutzre nur zu sagen, dass ich es einfach nicht leiden kann, wenn sich ein Programm nicht an die Windows Standards hält, bzw. meine persönlichen Einstellungen ignoriert.
-
Also wenn du am Ende ein return 0 hinsetzt erreichst du schonmal, dass Windows nicht mehr selber den Rahmen zeichnet, allerdings hat er bei mir dann auch nichts vernünftiges angezeigt.
Aber vielleicht interessiert dich das hier: http://www.flipcode.com/articles/article_win32skins.shtml