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..