![]() |
DrawText mit CALC_RECT
Hallo
Weisz wer warum folgender Code nicht so funktioniert wie er sollte ? temp is ein TRect mit (0, 0, 200, 1000); danach sollte ja eigentlich der Rückgabewert die Höhe des Textes in Pixel sein oder ? Leider bekomme ich nur die Höhe ohne (DT_WORDBREAK) also alle manuellen Zeilenumbrüche sind berücksichtugt, und die breite des TRect wurde angepasst. Abert laut Doku sollte das ja nicht sein, wenn ich DT_CALCRECT verwende.
Delphi-Quellcode:
Hoffe mir kann jemand weiterhelfen.
DrawTextEx(Canvas.Handle, PChar(Kommentar), length(Kommentar), temp, DT_CALCRECT or DT_WORDBREAK, nil);
Gruss Hans |
Re: DrawText mit CALC_RECT
deine temp.bottom wurde durch die Funktion veraendert.
|
Re: DrawText mit CALC_RECT
Laut Doku sollte die Rect struktur geändert werden, und die Höhe zurückgegeben werden.
Aber es wird nur die Höhe berechnet, die die fixen Zeilenumbrüche benötigt zurückgeben, und die Breite des Rect verändert. (Aber die Breite sollte eigentlich fix bleiben oder ?) Irgendwie siehts aus als ob DT_WORDBREAK nicht oder nicht mit DT_CALCRECT funktioniert ! Gruss Hans |
Re: DrawText mit CALC_RECT
Ich hab leider nicht die Beschreibung der Funktion im Kopf (und bin gerade zu faul nachzulesen) aber soweit ich mich erinnere berechnet CalcRect (ohne DT_SINGLELINE) nur die Hoehe des Textes. ist DT_SINGLELINE gegeben dann wird die Breite und Hoehe des Textes berechnet. Der Rueckgabewert ist wenn ich mich richtig erinnere, die Hoehe, ja.
|
Re: DrawText mit CALC_RECT
Zitat:
Zitat:
|
Re: DrawText mit CALC_RECT
Entweder bin ich zu blöd, und übersehe was, oder das funkt unter XP SP1 nicht (habs noch nicht mit anderen Systemen Probiert, aber wenn's unter XP nicht funktioniert ....)
Hans |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 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 by Thomas Breitkreuz