Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TLabel: Wieso verschindet der Text? (https://www.delphipraxis.net/43346-tlabel-wieso-verschindet-der-text.html)

Pseudemys Nelsoni 2. Apr 2005 12:36


TLabel: Wieso verschindet der Text?
 
Moin,

ich habe ein grossgezogenes label auf meiner form und füge so text hinzu(per button):

Delphi-Quellcode:
  Label1.Caption := Label1.Caption + Edit1.Text + #13#10;
Layout ist "tlBottom"...

so wenn das label nun voll ist, beginnt der text bei jedem klick von unten zu verschinden...wieso ist das so?

Dax 2. Apr 2005 12:38

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 ;)

bttb930 2. Apr 2005 12:39

Re: TLabel: Wieso verschindet der Text?
 
vermutlich weil du immer einen zeilenwechsel anhängst

Pseudemys Nelsoni 2. Apr 2005 13:06

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

Torpedo 2. Apr 2005 13:10

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.

Pseudemys Nelsoni 2. Apr 2005 13:11

Re: TLabel: Wieso verschindet der Text?
 
ich brauch aber ein control das kein caret hat :\

Dax 2. Apr 2005 13:20

Re: TLabel: Wieso verschindet der Text?
 
Nimm doch eine ScrollBox und setz ein AutoSize(true)-Label rein ;)

Pseudemys Nelsoni 2. Apr 2005 13:25

Re: TLabel: Wieso verschindet der Text?
 
moin dax,

wenn verkleinert sich das label trotzdem :\

teebee 2. Apr 2005 13:41

Re: TLabel: Wieso verschindet der Text?
 
Hab auf die Schnelle was gebastelt:
Delphi-Quellcode:
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.
Macht genau das, was Du willst.
PaintBox, Edit und Button aufs Form.

Gruß, teebee

Pseudemys Nelsoni 2. Apr 2005 13:52

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.
Seite 1 von 2  1 2      

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