AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TLabel + taRightJustify = katastrophe?

Ein Thema von xZise · begonnen am 24. Okt 2007 · letzter Beitrag vom 24. Okt 2007
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:18
Hi DP,
Ich habe folgenden simplen Code:
Delphi-Quellcode:
lCaptionDesc := TLabel.Create(self);
with lCaptionDesc do
begin
  Left := 300;
  Top := 3;
  Alignment := taRightJustify;
  Parent := tsFilter;
  Caption := 'Ein bischen Text... Bla bla blub';
end;
Soweit, würdet ihr sagen, dass macht Probleme? Nein, keine Fehler/Warunungen, aber die Anzeige spielt verrückt. Und zwar ist er nicht beim 300. Pixel zu ende, sondern irgendwo bei 350 - 360.
Und egal welchen Text, Left + Width ergibt immer das gleiche.
Erst, wenn Alignment normal ist, funktioniert Left wieder.
Warum das denn bitte schön

MfG
xZise

[edit]Bevor jemand meint, dass Left nach dem eingeben des Textes dann auf Left = 300 steht: Nein, dem ist nicht so![/edit]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:21
Auf was steht .AutoSize?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:23
Warum sollte es bei 300 Pixeln zu ende sein? Da fängt es doch an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:24
Delphi-Quellcode:
with lCaptionDesc do
begin
  Left := 0;
  AutoSize := false;
  Width := 300;
  Top := 3;
  Alignment := taRightJustify;
  Parent := tsFilter;
  Caption := 'Ein bischen Text... Bla bla blub';
end;
[edit] [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:26
Zitat von Luckie:
Warum sollte es bei 300 Pixeln zu ende sein? Da fängt es doch an.
Warum? Weil .Alignment auf taRightJustify steht. Und d.h. Rechtsbündig

Zitat von mkinzler:
Auf was steht .AutoSize?
True (Weil das wird automatisch vergrößert Ohne .Width Angabe)

Und .Left wird nirgends geändert

MfG
xZise

PS: Ich habe das mal isoliert mit ein paar Sachen, gleiches Problem ^^

[edit]WO BLEIBT MEINE REDBOX ^^
Zitat von DeddyH:
Delphi-Quellcode:
with lCaptionDesc do
begin
  Left := 0;
  AutoSize := false;
  Width := 300;
  Top := 3;
  Alignment := taRightJustify;
  Parent := tsFilter;
  Caption := 'Ein bischen Text... Bla bla blub';
end;
[edit] [/edit]
o.O
Aber warum so umständlich?
[/edit]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:26
Setz mal Color auf z.B. clRed, dann wirst Du es sehen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:29
Hmm, richtiges Ergebnis, aber unlogisches Ergebnis.
Weil, wenn man das von oben im Komponentendesginer macht, funktioniert alles wunderbar ?!
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:33
Ich finde das Ergebnis nicht unlogisch. Durch die Property AutoSize wird die Größe (und damit auch die Breite) an den Text angepasst. Und wenn Du Left auf 300 stellst, ist die linke Begrenzung eben 300. D.h. ergo, dass es nichts bringt, Alignment einzustellen, wenn AutoSize auf true steht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:34
Zitat von xZise:
Zitat von Luckie:
Warum sollte es bei 300 Pixeln zu ende sein? Da fängt es doch an.
Warum? Weil .Alignment auf taRightJustify steht. Und d.h. Rechtsbündig
Das spielt doch keine Rolle. Du sagst mit der Angabe left := 300;, dass es bei Pixel 300 vom linken Rand anfangen soll. Das hat doch mit der Ausrichtung des Textes innerhalb des Labels nichts zu tun.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: TLabel + taRightJustify = katastrophe?

  Alt 24. Okt 2007, 11:50
Zitat von Luckie:
Zitat von xZise:
Zitat von Luckie:
Warum sollte es bei 300 Pixeln zu ende sein? Da fängt es doch an.
Warum? Weil .Alignment auf taRightJustify steht. Und d.h. Rechtsbündig
Das spielt doch keine Rolle. Du sagst mit der Angabe left := 300;, dass es bei Pixel 300 vom linken Rand anfangen soll. Das hat doch mit der Ausrichtung des Textes innerhalb des Labels nichts zu tun.
Zitat von DeddyH:
Ich finde das Ergebnis nicht unlogisch. Durch die Property AutoSize wird die Größe (und damit auch die Breite) an den Text angepasst. Und wenn Du Left auf 300 stellst, ist die linke Begrenzung eben 300. D.h. ergo, dass es nichts bringt, Alignment einzustellen, wenn AutoSize auf true steht.
Okay Dann öffnet bei eure Delphi IDE und setzt ein Label auf die Form, mit Alignment taRightJustify.
Und dann tippt Text ein, und oh wunder. Left hat sich verändert (je nachdem, ob er Text hinzugefügt oder entfernt habt).


Und ich finde es unlogisch, dass er sich nach rechts schiebt, wenn er eigentlich nach links größer wird.

MfG
xZise

PS: Testet es einfach mal selber aus, bevor ihr wieder meint es sei unlogisch

[edit]Ich habe sogar noch etwas entdeckt.
Wenn ihr den obigen Code nehmt (von mir), und während der Laufzeit, z.B. durch Buttonklick, Text hinzufügt, dann bewegt er sich auch nach links, und nicht nach rechts.
Abgesehen davon, dass das LINKE Ende nicht 300 beträgt, sondern, je nach länge mehr/weniger sein kann.

Ach ihr müsst noch nicht mal selber coden ^^ ich hänge mal die Exe an.
Das Panel ist Links auf 300. Pixel Der Text müsste als dort enden.
Mit dem Button fügt ihr ein Zeichen hinzu.
Das Label unten ist während der Desgintime erstellt worden [/edit]

[edit] Mist Anhang ^^[/edit]
Angehängte Dateien
Dateityp: exe project1_216.exe (419,0 KB, 5x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 18:39 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