![]() |
TLabel: Wieso verschindet der Text?
Moin,
ich habe ein grossgezogenes label auf meiner form und füge so text hinzu(per button):
Delphi-Quellcode:
Layout ist "tlBottom"...
Label1.Caption := Label1.Caption + Edit1.Text + #13#10;
so wenn das label nun voll ist, beginnt der text bei jedem klick von unten zu verschinden...wieso ist das so? |
Re: TLabel: Wieso verschindet der Text?
Weil dein Label versucht, den neu hinzugefügten Text anzuzeigen, und weil du nicht "übers Blattrand schreiben" kannst, verschwindet alles, was nicht innerhalb der Boundaries des Labels liegt. Einfache Lösung: AutoSize := true ;)
|
Re: TLabel: Wieso verschindet der Text?
vermutlich weil du immer einen zeilenwechsel anhängst
|
Re: TLabel: Wieso verschindet der Text?
ne neue zeile brauch ich aber.
@dax: ich muss das ding wie ein memo verwenden können, daher autosize muss false sein |
Re: TLabel: Wieso verschindet der Text?
Wie ein Memo?
Labels können aber nicht scrollen. Du könntest ein Memo nehmen, Hintergrund auf clBtnFace stellen, Rand ausblenden, ReadOnly auf True setzen und das Caret ausblenden (Suchfunktion) Dann würde es aussehen, als wäre es ein Label, ist aber ein Memo. |
Re: TLabel: Wieso verschindet der Text?
ich brauch aber ein control das kein caret hat :\
|
Re: TLabel: Wieso verschindet der Text?
Nimm doch eine ScrollBox und setz ein AutoSize(true)-Label rein ;)
|
Re: TLabel: Wieso verschindet der Text?
moin dax,
wenn verkleinert sich das label trotzdem :\ |
Re: TLabel: Wieso verschindet der Text?
Hab auf die Schnelle was gebastelt:
Delphi-Quellcode:
Macht genau das, was Du willst.
unit main;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, extctrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; PaintBox1: TPaintBox; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure PaintBox1Paint(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } Txt: String; Procedure PaintTxt; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Txt := Txt+#13#10+Edit1.Text; Label1.Caption := Txt; PaintTxt; end; procedure TForm1.FormCreate(Sender: TObject); begin Txt := 'Test'; end; Procedure TForm1.PaintTxt; Var TxtRect: TRect; pbRect: TRect; Begin pbRect := PaintBox1.ClientRect; TxtRect := pbRect; DrawText(PaintBox1.Canvas.Handle,PChar(Txt),Length(Txt),TxtRect,DT_CALCRECT); TxtRect.Top := pbRect.Bottom-TxtRect.Bottom; TxtRect.Bottom := pbRect.Bottom; DrawText(PaintBox1.Canvas.Handle,PChar(Txt),Length(Txt),TxtRect,DT_LEFT); End; procedure TForm1.PaintBox1Paint(Sender: TObject); begin PaintTxt; end; end. PaintBox, Edit und Button aufs Form. Gruß, teebee |
Re: TLabel: Wieso verschindet der Text?
Moin teebee,
das funkt ja super :) hast du vielleicht noch ne idee wie ich den hintergrund der paintbox komplett weiss mache? Und wie ich eine Scrollbar an das ding packen kann? :) danke btw |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz