Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#11

Re: WM_NCPAINT - Rahmen selber Zeichnen klappt nicht so rech

  Alt 6. Jul 2006, 12:12
Zitat von Christian Seehase:
Moin Matti,

schau Dir doch mal die Funktion MSDN-Library durchsuchenGetDCEx an.
Bei mir bringt die im WMNCPAINT-Event zwar immer 0 zurück (obwohl die übergebenen Werte eigentlich stimmen sollten), aber vielleicht funktioniert es ja bei Dir.
(GetLastError meldet mir auch "Der Vorgang wurde erfolgreich durchgeführt" )

Mein Aufruf:
hdc := GetDCEx(self.Handle,msg.RGN,DCX_WINDOW or DCX_INTERSECTRGN);
Jupp, hab ich schon. Du bekommst ein gültigen DCdurch das hinzufügen des Flags DCX_USERSTYLE.

Delphi-Quellcode:
DCX_USERSTYLE = $10000; // oder war es $100000 *grübel*

//...
hdc := GetDCEx(Handle, msg.RGN, DCX_WINDOW or DCX_INTERSECTRGN or USERSTYLE);
// zur sicherheit mach ich dann noch:
if hdc = 0 then hdc := GetWindowDC(Handle);
Das Problem ist das der Rahmen zwar gezeichnet wird aber beim ändern der Grösse des Fensters nicht exakt gezeichnet wird.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat