AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Label in Bevel zentrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Label in Bevel zentrieren

Ein Thema von devnull · begonnen am 5. Nov 2003 · letzter Beitrag vom 5. Nov 2003
Antwort Antwort
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Label in Bevel zentrieren

  Alt 5. Nov 2003, 13:41
Hi,

ich habe ein TextFeld variabler Länge welches ich in einem Bevel zentrieren möchte.
Das Problem ist, dass ich das Label nicht rechnerisch zentrieren kann, da jeder Zeichensatz eine andere Pixelbreite hat.

Gibts da nich irgenein Befehl ?

devnull
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#2

Re: Label in Bevel zentrieren

  Alt 5. Nov 2003, 13:58
Hallo devnull,

setze AutoSize bei deinem Label auf FALSE und Alignment auf taCenter.

Jetzt brauchst du nur noch die linke und rechte Seite des Label zum Rand des Bevel zu ziehen.

http://www.FrankNStein.de/LBC.jpeg
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#3

Re: Label in Bevel zentrieren

  Alt 5. Nov 2003, 14:11
Das ist so, dass das Bevel während der Laufzeit erstellt wird:
Bevel1 ist HauptBevel !!

Delphi-Quellcode:
NewBevel := TBevel.Create(OkBottomDlg);
with NewBevel do begin
     Parent := OkBottomDlg;
     Left := 13;
     Top := 13;
     Height := 16;
     // Das hier soll das NewBevel 5 Pixel jeweils von links und rechts
     // bringen
     Width := Bevel1.Width - 10;
end;
Nun das TextFeld:
Delphi-Quellcode:
TextFeld := TLabel.Create(OkBottomDlg);
with TextFeld do begin
     Parent := OkBottomDlg;
     Caption := 'TEXTZEILE';
     Top := 14;
     // DAS SOLLTE DAS TEXTFELD IM BEVEL ZENTRIEREN
     Left := (Bevel1.Width - 10) div 2 - length('TEXTZEILE')*6 div 2;
     // Schlau wie ich bin, hab ich mal Courier genommen
     Font.Color := clWindowText;
     Font.Height := -11;
     Font.Name := 'Courier New';
     Font.Style := [];
end;

Das mit AutoSize geht jetzt doch nich mehr, weil erst während Laufzeit erstellt wird ?!??!


devnull
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#4

Re: Label in Bevel zentrieren

  Alt 5. Nov 2003, 15:07
Die Werte im OI kann man doch auch zur Laufzeit noch zuweisen.

Delphi-Quellcode:
TextFeld := TLabel.Create(OkBottomDlg);
With TextFeld do Begin
     Parent := OkBottomDlg;
     AutoSize := False; {}
     Alignment := taCenter; {}
     Top := 14; {NewBevel.Top + 1}
     Left := 14; {NewBevel.Left + 1}
     Width := Bevel1.Width - 12; {NewBevel.Width - 2}
     Caption := 'TEXTZEILE';
     Font.Color := clWindowText;
     Font.Height := -11;
     Font.Name := 'Courier New';
     Font.Style := [];
End;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#5

Re: Label in Bevel zentrieren

  Alt 5. Nov 2003, 15:16
Nein, das geht nicht.
Wenn ich nur AutoSize eingebe, dann weis Delphi ja net, auf was es zentrieren soll.

Das Problem ist, dass "Parent := OkBottomDlg;" ist und nicht
"Parent := OkBottomDlg.Bevel1;".
Das geht nicht !?

devnull
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#6

Re: Label in Bevel zentrieren

  Alt 5. Nov 2003, 15:29
Es wird nicht das Label zentriert, sonder der Text im Label.

Wenn also das Label in das Bevel eingepasst wird und der Text im Label zentriert ist, ist er natürlich auch im Bevel zentriert.


in meinem Bildchen da oben ist der Text ja auch nicht im Bevel zentriert. Dort ist Label1.Parent nicht Bevel1 sondern Form1;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#7

Re: Label in Bevel zentrieren

  Alt 5. Nov 2003, 15:59
:cheers: @Himitsu:
Danke, jetzt klappt es so, wie es gedacht war. Habs so gemacht, wie du in deinem Beispiel.

devnull
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#8

Re: Label in Bevel zentrieren

  Alt 5. Nov 2003, 15:59
@Himitsu:
Danke, jetzt klappt es so, wie es gedacht war. Habs so gemacht, wie du in deinem Beispiel.

devnull
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 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