Um einen eigenen Rahmen zu erstellen musst du einfach auf die Nachricht WM_NCPAINT("nonclient paint" also Zeichenoperationen außerfahlb des Anwendungsbereiches aber inerhalb des Fensters) reagieren. in der Bearbeitung dieser Nachricht muss dein Programm über
|
C-/C++-Quelltext
|
1
2
3
|
HDC hdc = GetWindowDC(hWnd)
/*Zeichenoperationen für das ganze Fenster also Rahmen und Anwendungsbereich*/
ReleaseDC(hWnd, hdc)
|
Einen gerätekontext für das ganze Fenster anfordern und dann zeichnen. Mit GDI-Funktionen wie Rectangle() hat man dann ganz schnell einen eigenen Rahmen. Die Schaltflächen zum Schließen muss man dann aber auch erstellen und sebst verwalten. Der Fensterstil ist egal also kann man ruhig WS_OVERLAPPEDWINDOW benutzen, denn der Fensterstil hat nichts damit zu tun, ob man sich seinen Rahmen selbst zeichnet oder nicht. Höchsten kannst du mit WS_OVERLAPPEDWINDOW insofern Schwierigkeiten bekommen, dass das Systemmenü nicht geöffnet werden kann, bzw. sich versehentlich öffnet.