Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: wie temoräres Canvas erstrllen und nutzen?

  Alt 4. Feb 2009, 18:44
Hi himitsu,

müsstest Du jetzt nicht etwas werden, bist doch auch schon länger dabei

Harter Typcast auf eine eigene TCanvas-Klasse und RequiredState überschreiben.

Beispiel (von TntUnicode):
Delphi-Quellcode:
type
  TAccessCanvas = class(TCanvas);

function WideDCTextExtent(hDC: THandle; const Text: UnicodeString): TSize;
begin
  Result.cx := 0;
  Result.cy := 0;
  Windows.GetTextExtentPoint32W(hDC, PWideChar(Text), Length(Text), Result);
end;

function WideCanvasTextExtent(Canvas: TCanvas;
  const Text: UnicodeString): TSize;
begin
  with TAccessCanvas(Canvas) do begin
    RequiredState([csHandleValid, csFontValid]);
    Result := WideDCTextExtent(Handle, Text);
  end;
end;
Gruß Assertor

Edits: Tippfehler...
Frederik
  Mit Zitat antworten Zitat