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 Label erzeugen (https://www.delphipraxis.net/148416-label-erzeugen.html)

SunSet 1. Mär 2010 17:28


Label erzeugen
 
Guten Abend,
ich programmiere derzeit Galgenmännchen und benutze dabei eine Textdatei aus der zufällige Wörter ausgelesen werden. Das Galgenmännchen zeichne ich mit der Funktion Canvas und das funktioniert auch alles super.
Nun stellt sich mir die Frage, wie ich je nach Anzahl der Buchstaben des Wortes die Labels erzeugen kann.
Also wenn das Wort zum Beispiel 8 Buchstaben hat sollen 8 Labels mit der Caption _ erscheinen, jedoch wird bei meiner Umsetzung rein garnichts angezeigt. Ich muss dazu sagen, dass ich mich erst seit einigen Wochen mit Delphi auseinandersetze und somit noch kein Profi bin.

Delphi-Quellcode:
for i := 1 to length(Wort) do begin
    MyLabel := TLabel.Create(Form1);
      with MyLabel do begin
        Caption := '_';
        Name := 'lb'+inttostr(i);
        left := 30;
        top := 20;
        width := 10;
        height := 10;
        visible := true;
        enabled := false;
        parent := Form1;
      end;
  end;
Ich bedanke mich schon einmal im Vorraus :stupid:

fkerber 1. Mär 2010 17:30

Re: Label erzeugen
 
Hi!

Bist du dir sicher, dass es sich um eine .NET-Frage handelt?


Grüße, Frederic

SunSet 1. Mär 2010 17:38

Re: Label erzeugen
 
Um ehrlich zu sein.. Nein.

blauweiss 1. Mär 2010 17:42

Re: Label erzeugen
 
Hallo SunSet,

Dein Code sieht eigentlich auf den ersten Blick völlig richtig aus !
Nur werden damit alle Labels auf der gleichen Koordinate angelegt... Du müßtest die Laufvariable i noch im Top unterbringen, z.B. Top := 10 + i * Height.

Grüße,
blauweiss

SunSet 1. Mär 2010 17:43

Re: Label erzeugen
 
Vielen Dank :)
Das wäre schonmal ein Fehler, jedoch müsste dann wenigstens ein einziges angezeigt werden, oder nicht? Es erscheint aber keins.

Medium 1. Mär 2010 17:50

Re: Label erzeugen
 
Je nach Schriftgröße könnte eine Höhe von 10 Pixeln zu wenig sein. Statt Width/Height selber zu setzen, würd ich einfach AutoSize auf true stellen. Ansonsten könnte es höchstens noch sein, dass an den Koordinaten noch was anderes auf deinem Formular liegt.

SunSet 1. Mär 2010 17:54

Re: Label erzeugen
 
Ahhhhhh.. nun klappt es. Ich glaube es lag daran, dass ich für die Font-Eigenschaften nichts angegeben hatte, daher war die Schrift wohl nicht sichtbar.

Ich danke euch für die schnelle Hilfe :thumb:

Super Forum :)

SunSet 1. Mär 2010 19:04

Re: Label erzeugen
 
Für mich hat sich ein neues Problem ergeben. Und zwar bekomme ich es nicht auf die Reihe die Labels während der Laufzeit des Programmes zu löschen. Hätte da jemand eine Lösung parat, da selbst google mir nicht viel verrät.

PS: Hätte ich dafür jetzt ein neues Thema eröffnen sollen? Im Prinzip gehört es ja in die selbe Abteilung :stupid:

-Phantom- 1. Mär 2010 19:12

Re: Label erzeugen
 
Du brauchst ja nicht unbedingt ein Label per Laufzeit erzeugen.

Du machst es so bei form1.create
Delphi-Quellcode:
Label1.hide;
und wenn die wieder angezeigt werden soll machst du:
Delphi-Quellcode:
Label1.show;
so nun kannst du das Label auch einfacher Löschen

SunSet 1. Mär 2010 19:21

Re: Label erzeugen
 
Ich denke schon das es besser ist die Labels in der Laufzeit zu erzeugen, da es je nach Begriff verschieden viele sind. Ich benötige jedes Label für einen Buchstaben und muss diese später auch einzeln abrufen.
Gibt es da denn keine Möglichkeit ein Label "einfach" zu löschen? :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 Uhr.
Seite 1 von 2  1 2      

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