Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Problem mit DrawFontIndirect

  Alt 12. Sep 2005, 16:33
1. (habe ich letztens noch irgendwo geschrieben) Du musst Objekte, die du mit SelectObject in einen DC selektierst, auch wieder deselektieren. Die richtige Vorgehensweise ist:
Delphi-Quellcode:
OldObject := SelectObject(DC, NewObject);
// Zeichen etc.
SelectObject(DC, OldObject);
Und das gilt für jeden Handle-Typen separat, also für HBRUSH, HPEN, HBITMAP und HFONT.

2. Die Aussage
Delphi-Quellcode:
  //Wenn BeginPaint ausgefuehrt wurde, EndPaint ausfuehren
   if lpPaint.hdc <> 0 then
im Kommentar stimmt nicht ganz, denn lpPaint ist gänzlich uninitialisiert wenn Message.DC<>0 war. Du hast also eine Chance von 1:2^32 dass in diesem Fall in lpPaint.hdc ein Zufallswert <> 0 drinsteht.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat