![]() |
den Caption eines Dynamisch erstellten Panels ändern
Hallo zusammen!
Ich habe da mal eine Frage! Ich lasse hier ein panel dynamisch generieren und in diesem panel ein Image Jetzt möchte ich dem Panel gerne ein Caption zuordnen aber habe keine ahnung wie ^^" Könnte ihr mir helfen?
Delphi-Quellcode:
procedure TForm1.Case1;
var i:integer; test:string; const NamePrefix = 'Panel'; NamePrefix2 = 'Image'; begin links :=10; oben :=10; breite :=120; hoehe :=120; verschiebung :=130; bild := 0; loop := 0; use := 0; use1 := 0; pa := 1; for i := 1 to 4 do begin MyPanel1 := TPanel.Create(Self); with MyPanel1 do begin Caption := ''; Name := NamePrefix + IntToStr(i); SetBounds(links, oben, breite, hoehe); Inc(oben,verschiebung); // Erhöht "oben" um "verschiebung" if i = 2 then begin Inc(links,verschiebung); oben := 10; end; parent:=Self; end; MyImage1 := TImage.Create(Self); with MyImage1 do begin Name := NamePrefix2 + IntToStr(i); SetBounds(3,3,114,114); repeat bild := Random(2); bilderzuordnung; until loop = 1; bilderzuordnung2; Picture.LoadFromFile(useBild); parent:=MyPanel1; end; end; end; |
Re: den Caption eines Dynamisch erstellten Panels ändern
hallo,
Wie wärs mit MyPanel1.Caption := 'xxx'; grüße, daniel |
Re: den Caption eines Dynamisch erstellten Panels ändern
|
Re: den Caption eines Dynamisch erstellten Panels ändern
@ Daniel
habe ich auch versucht :) Geht leider nicht |
Re: den Caption eines Dynamisch erstellten Panels ändern
Kann es sein, daß es geht, aber der Text unter dem Bild ist? Der Text wird in Panels immer zentriert dargestellt.
...:cat:... |
Re: den Caption eines Dynamisch erstellten Panels ändern
JA :wink:
|
Re: den Caption eines Dynamisch erstellten Panels ändern
jap
der caption ist unter dem bild :) Aber da das ganze ein memory werden soll blende ich die image aus und die wird dann erst beim drauf klicken sichtbar :) und somit sieht man den namen des panels und denn möchte ich ändern ;) |
Re: den Caption eines Dynamisch erstellten Panels ändern
Mir fällt gerade auf, dass du jedes Panel dass du erzeugst in MyPanel1 hast.
Wo setzt du denn die Caption? Nach dem erzeugen aller Panele? Wenn ja verlierst du immer die Referenz auf das letzte Panel, wenn du ein neues erzeugst, also sprichst du mit MyPanel1.Caption immer nur die letzte Panele an. Ich würde mit Arrays arbeiten. grüße, daniel |
Re: den Caption eines Dynamisch erstellten Panels ändern
Also des Rätselslösung ist denkbar einfach :roll:
Der Caption den ich hier versuche zu setzen:
Delphi-Quellcode:
Steht nur an der falschen Stelle.
for i := 1 to 4 do
begin MyPanel1 := TPanel.Create(Self); with MyPanel1 do begin Caption := ''; Name := NamePrefix + IntToStr(i); SetBounds(links, oben, breite, hoehe); Inc(oben,verschiebung); // Erhöht "oben" um "verschiebung" Das Kind braucht logischerweise ERST einen Namen bevor man es verändern kann und somit muss man lediglich den Captionteil unter die Namensgebung schreiben.
Delphi-Quellcode:
Das ist alles :)
for i := 1 to 4 do
begin MyPanel1 := TPanel.Create(Self); with MyPanel1 do begin Name := NamePrefix + IntToStr(i); Caption := ''; SetBounds(links, oben, breite, hoehe); Inc(oben,verschiebung); // Erhöht "oben" um "verschiebung" Vielen Dank an Seb G. auch aus dem Forum hier ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16: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