Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten (https://www.delphipraxis.net/179536-3-labels-mit-unterschiedlichen-font-size-der-unterkante-ausrichten.html)

hoika 13. Mär 2014 15:26

3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten
 
Hallo,

3 Labels
Label1: Font.Size=20
Label2: Font.Size=40
Label2: Font.Size=70

Wie muss ich die Tops per Code für die Labels setzen,
damit alle drei an der Unterkante ausgerichtet sind.
Dazu müsste ja das Top der kleineren Labels vom Wert her etwas größer sein.

Egal, was ich hier probiere, ich bekomme das nicht hin ;(

Hilfe !!!

Danke


Heiko

baumina 13. Mär 2014 15:38

AW: 3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten
 
Align sie doch einfach irgendwo drauf.

himitsu 13. Mär 2014 16:01

AW: 3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten
 
Was ist die Unterkannte?

Unterkannte der Labels, dann Align/Anchor.


Unterkannte der Buchstaben?

Die untere Linie der Buchstaben, wo sie drauf stehen oder der unterste Punkt von z.B. g und y ... egal wie, da mußt du die Position selber ausrechnen und die Labels manuell positionieren.

hoika 13. Mär 2014 16:03

AW: 3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten
 
Hallo,

erst ausprobieren, dann schlaue Sprüche !!! ... ;)

Nein, im Ernst, probier mal aus, klappt nicht.
Je größer der Font, desto mehr Abstand hat der Label-Text nach unten.

Einfach mal 2 Labels, eines mit Font-Size 40, eines mit 20 nehmen.

Ich habe hier CN-Pack, das erkennt, dass die Labels unten passen, und zeigt das mit einer Hilfsline an.

himitsu:
Es sind nur die drei Zahlen 1,2,3. Wie berechne ich denn die Position, dass ist ja mein Problem.

Ah so, eines noch Die Höhe der Labels ist abhängig von der Fensterhöhe, ist also dynamisch.


Zur Not zeichne ich die selber in ein Canvas, dass will ich aber vermeiden.

#Update#:
Der gute Buchheit.
tmExternalLeading (GetTextMetrics) muss ich wohl ermitteln und berücksichtigen.



Heiko

himitsu 13. Mär 2014 16:16

AW: 3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten
 
Zitat:

Zitat von hoika (Beitrag 1251879)
#Update#:
Der gute Buchheit.
tmExternalLeading (GetTextMetrics) muss ich wohl ermitteln und berücksichtigen.

Wollte ich auch grade noch erwähnen.

Und es gab ja grade erst einen Thread zum Thema Schriftgröße, wo man raunschauen könnte und jemand hatte da sogar ein Beispielprogramm gepostet.

hoika 13. Mär 2014 16:33

AW: 3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten
 
Hallo,

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  TM: TextMetric;
  DC: HDC;
  SaveFont: HFont;
begin
  DC := GetDC(0);
  SaveFont := SelectObject(DC, Label.Font.Handle);
  GetTextMetrics(DC, TM);
  SelectObject(DC, SaveFont);
  ShowMessage(' = ' + IntToStr(TM.tmExternalLeading));
  ReleaseDC(0, DC);
end;
liefert mir immer 0 zurück ;(

Auch ein Self.Font.Handle (Self=Form) klappt nicht.

Heiko

baumina 14. Mär 2014 06:50

AW: 3 Labels mit unterschiedlichen Font.Size an der Unterkante ausrichten
 
Ich wusste doch, dass ich so ein ähnliches Anliegen hier schon mal gelesen habe und bin hierauf gestoßen, evtl. hilfts dir ja : http://www.delphipraxis.net/178377-c...-ausgeben.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 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