Einzelnen Beitrag anzeigen

Benutzerbild von MasterEvil
MasterEvil

Registriert seit: 12. Feb 2005
Ort: Hannover
234 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeichnen in Non-Client-Area unter Vista

  Alt 1. Dez 2008, 09:42
Hallo,

ich habe eine abgeleitete DbGrid Komponente, die in den Non-Client Bereich einen Rahmen zeichnet.
Dies funktioniert unter WinXP wunderbar, unter Vista gibt es allerdings den Fehler "Leinwand/Bild erlaubt keine Zeichen".

Nach einer Google-Suche über spärliche Ergebnisse kam die Aussage, dass man unter Vista nicht mehr einfach in den Non-Client Bereich zeichnen darf. Man muss mittels der neuen API-Funktion DwmSetWindowAttribute das Property DWMWA_NCRENDERING_POLICY setzen, dann soll das wieder gehen.

Leider gibt es in Delphi 2007 scheinbar noch keinen Wrapper für diese Funktion. Auch habe ich keine Erklärung gefunden weshalb dies in Vista so geändert wurde. Oder bin ich hier allgemein auf dem Holzweg?

Für jeden Hinweis bin ich dankbar.
Gruß,
Steffen
  Mit Zitat antworten Zitat