![]() |
Alternative zu Canvas.TextWidth
Hallo erstmal,
ich wollte mal wissen, ob es eine Möglichkeit gibt, auf die "Textweite" zu kommen ohne Canvas.TextWidth?! Ich befinde mich in einer Komponente die keine Canvas-Eigenschaft hat daher wollte ich wissen ob es da vielleicht irgendwas anderes gibt, oder eine eigene Funktion geschrieben werden muss?! MFG Alex |
Re: Alternative zu Canvas.TextWidth
japp bau dir doch ne Funktion der du deinen Font§Text übegibst die das auf einen Selbsterstellten Canvas anwendet und die TextWidth auswertet und zurückgibt.
|
Re: Alternative zu Canvas.TextWidth
Wozu Canvas? Die VCL nutzt auch nur die WINAPI Funktion: GetTextExtentPoint32
|
Re: Alternative zu Canvas.TextWidth
GetTextExtentPoint32 <-- genau sowas suchte ich...
Wusste nur nicht wie die Funktion in der API heißt.. MFG ALex |
Re: Alternative zu Canvas.TextWidth
Hallo OLLI_T,
hast Du mal auch noch einen Programmschnipsel als Beispiel für die Benutzung? (Der Hilfetext hilft mir nicht so richtig weiter) mfg eddy |
Re: Alternative zu Canvas.TextWidth
Du wirst ein Fonthandle etc. verwenden müssen da die Textbreite von der Schriftart, -größe etc. abhängt. In der Codelib befindet sich dazu auch eine funktion der du den Text übergibst und ein TFont-Object
|
Re: Alternative zu Canvas.TextWidth
Delphi-Quellcode:
function TrueFontWidth(fnt: TFont; const text:string): Integer;
var dc: hdc; tsize : Windows.TSize; begin dc := GetDC(0); SelectObject(DC, fnt.Handle); GetTextExtentPoint32(dc, PChar(text), Length(text), tsize); ReleaseDC(0, DC); Result := tsize.cx; end; |
Re: Alternative zu Canvas.TextWidth
Hallo shmia,
vielen Dank für das Beispiel. Damit kann ich doch mehr anfangen. mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz