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/)
-   -   C# Label nach Links vergrößern lassen (https://www.delphipraxis.net/64163-label-nach-links-vergroessern-lassen.html)

faux 28. Feb 2006 12:11


Label nach Links vergrößern lassen
 
Hallo!

Ich habe ein kleines Designer-Problem:
Ich habe ein Label welches am rechten Rand des Forms liegt/sitzt/ist. Wenn nun wärend der Laufzeit der Text verändert wird, so dass dieser länger als der vorherige ist, so wird das Label automatisch vergrößert (klar). Jedoch wird das Label nach rechts vergrößert, wodurch dann ein Teil außerhalb des sichtbaren Bereichs ist.
Wie kann ich das bewerkstelligen, dass das Label nach links vergrößert wird?
In Delphi würde ich das Label einfach so groß machen, dass der Fall erst garnicht eintrifft; das geht jedoch in C# nicht, da ich die Größe des Labels nicht verändern kann. :?

Grüße
Faux

Master_RC 28. Feb 2006 12:12

Re: Label nach Links vergrößern lassen
 
Code:
Label1.left := Label1.left - 1;
Lebel1.width := Labe11.width + 1;
hoffe, das isses...


//EDIT:
Verdammt, sorry, hab jetzt erst gelesen, dass es C ist :oops:
Bitte meinen Post löschen!

//EDIT²:
Zu dem Post drunter:
Rischtisch, hab mal wieder gelesen und geschrieben!
... und dann gedacht :D

faux 28. Feb 2006 12:13

Re: Label nach Links vergrößern lassen
 
Ähm...
Ich denke mal, du hast nur den Titel meines Threads gelesen, aber den Text nicht. :mrgreen:

Grüße
Faux

Klaus01 28. Feb 2006 12:24

Re: Label nach Links vergrößern lassen
 
zwar auch in Delphi:

Delphi-Quellcode:
 label1.Left:=form1.Width-label1.Width;
vielleicht gibt es ja was ähnliches in C# ;o)
Grüße
Klaus

SirThornberry 28. Feb 2006 12:31

Re: Label nach Links vergrößern lassen
 
in C# muss es doch auch die Möglichkeit geben von der Canvas (wird dort eventuell anders heißen) abzufragen, wie breit Text der dort drauf erscheint ist.
Unter Objectpascal würde es also so aussehen (funktioniert auch wenn das Label nicht am rechten Rand des Forms ist):
Delphi-Quellcode:
procedure SetLabelCaption(ALabel: TLabel; ACaption: String);
var LNewWidth,
    LOldWidth : Integer;
begin
  LOldWidth := ALabel.Canvas.TextWidth(ALabel.Caption);
  LNewWidth := ALabel.Canvas.TextWidth(ACaption);
  ALabel.Caption := ACaption;
  ALabel.Left := ALabel.Left + (LOldWidth - LNewWidth);
end;

faux 28. Feb 2006 12:33

Re: Label nach Links vergrößern lassen
 
Zitat:

Zitat von Klaus01
zwar auch in Delphi:

Delphi-Quellcode:
 label1.Left:=form1.Width-label1.Width;
vielleicht gibt es ja was ähnliches in C# ;o)
Grüße
Klaus

Werds mal so probieren, danke.

JeSchwa 28. Feb 2006 13:02

Re: Label nach Links vergrößern lassen
 
in C# sollte das so gehen



neuer Punkt f. linke obere Ecke des Controls:

Code:
label1.Location = new Point(136,248);
Größe ändern:

Code:
label1.Size = new Size (20,100);

jeweils x,y in px(denksch) also bei Location 1. Wert verringern und bei Size 1. Wert soviel vergrößern.


alle Angaben sind ohne Gewähr. :)


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