Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Schriftgröße in Pixel ermitteln (TMemo) (https://www.delphipraxis.net/12391-schriftgroesse-pixel-ermitteln-tmemo.html)

weltaran 26. Nov 2003 13:25


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!

negaH 26. Nov 2003 13:29

Re: Schriftgröße in Pixel ermitteln (TMemo)
 
probier mal folgendes:

Delphi-Quellcode:
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;
Gruß hagen

weltaran 26. Nov 2003 13:49

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

bixi400 26. Nov 2003 13:58

Re: Schriftgröße in Pixel ermitteln (TMemo)
 
Versuchs mal mit:

Memo1.CaretPos

weltaran 26. Nov 2003 14:35

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 14:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz