![]() |
Schriftgröße in Pixel ermitteln (TMemo)
Hallo Leute!
Ich will in einem Memo abhängig von der Mauscursor-Position den Hint dynamisch verändern (OnMouseMove). Es soll letzlich im Hint sichtbar sein, in welcher Zeile des Memos sich der Mauscursor befindet. Die Schriftart des Memos bleibt immer konstant, nicht aber die Schriftgröße. 'Size' ist die Schriftgröße in Punkt -> ungeeignet. Auch Height ist noch zu klein, ich müsste den Abstand der Grundlinien der Schrift wissen. Habt ihr sowas schon gemacht. Ciao! |
Re: Schriftgröße in Pixel ermitteln (TMemo)
probier mal folgendes:
Delphi-Quellcode:
Gruß hagen
var
R: TRect; TextHeight: Integer; begin R := Bounds(0, 0, MaxInt, MaxInt); DrawText(Memo.Canvas.Handle, 'G'#13#10'g', 4, R, dt_CalcRect or dt_SingleLine); TextHeight := (R.Bottom - R.Top) div 2; end; |
Re: Schriftgröße in Pixel ermitteln (TMemo)
Hmmm, sieht gut aus, aber 'Canvas' ist anscheinend ein undefinierter Bezeichner. Ansonsten sieht
das ziemlich genial aus. Vielleicht sollte ich einfach die Height Eigenschafr mit einem geeigneten Wert (vielleicht 1.3) malnehmen und dann abrunden -- vier nicht allzuviele Zeilen geht das. Danke trotzdem |
Re: Schriftgröße in Pixel ermitteln (TMemo)
Versuchs mal mit:
Memo1.CaretPos |
Re: Schriftgröße in Pixel ermitteln (TMemo)
Ja. Warum einfach wenns auch kompliziert geht ... . Ich hatte CaretPos nur flüchtig überflogen, und dachte es liefert mir nur den Index des Strings zurück.
Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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