Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Größe der Canvas ermitteln?

  Alt 16. Mär 2004, 23:06
Wie kann ich die größe einer Canvas ermitteln?? Wenn ich zum Beispiel eine funktion hab die nur das Handel von der Canvas übergeben bekommt wie kann ich dann die größe davon rausfinden. Bisher habe ichs das so gemacht
Delphi-Quellcode:
procedure dosomething(CanvasHandle: Cardinal);
var LCanvas: TCanvas;
begin
  LCanvas := TCanvas.Create;
  LCanvas.Handle := CanvasHandle;
  //und jetzt mit LCanvas.ClipRect die größe ermittelt
  LCanvas.Free;
end;
Allerdings musste ich heute feststellen das diese Methode nicht funktioniert. Ein Blick in die OH hat mir dann verraten das mit ClipRect den bereich der Canvas zurückgibt der neu gezeichnet werden muss. Wenn jetzt also meine funktion innerhalb eines WM_PAINT aufgerufen wird, so kann ich nicht mehr über ClipRect die größe rausfinden, da manchmal nur ein stück der Canvas neu gepaintet werden muss... Hoffe ihr habts verstanden, wenn ni einfach posten welchen teil ich nochmal besser erklären muss..
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat