![]() |
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:
Ich bedanke mich schon einmal im Vorraus :stupid:
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; |
Re: Label erzeugen
Hi!
Bist du dir sicher, dass es sich um eine .NET-Frage handelt? Grüße, Frederic |
Re: Label erzeugen
Um ehrlich zu sein.. Nein.
|
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 |
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. |
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.
|
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 :) |
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: |
Re: Label erzeugen
Du brauchst ja nicht unbedingt ein Label per Laufzeit erzeugen.
Du machst es so bei form1.create
Delphi-Quellcode:
und wenn die wieder angezeigt werden soll machst du:
Label1.hide;
Delphi-Quellcode:
so nun kannst du das Label auch einfacher Löschen
Label1.show;
|
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 13:07 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