![]() |
eigenschaften von buttons, die zur laufzeit erstellt wurden
hi :)
ich würde gerne wissen wie ich die eigenschaften von buttons, die ich zur laufzeit erstellt habe ändern kann? so sieht mein code aus:
Delphi-Quellcode:
bei den buttons (das sind dann insgssamt 6 stück auf jedem tabsheet) würde ich gerne bei einem onresize ereignis der form haben, dass sie button1.Width:=pagecontrol1.Width div 6; einnehmen... aber ich weiss nicht wie ich an die buttons rankomme? :/
for i := 0 to nl.length - 1 do begin
node2 := xmlDoc.documentElement.selectSingleNode('/buttonset/Default'); x:=x+1; n := nl[i]; node2 := xmlDoc.documentElement.selectSingleNode('/buttonset/'+n.nodename); newpage:=TTabSheet.Create(Self); newpage.PageControl := PageControl1; newpage.name:='btab'+inttostr(x); newpage.Caption:=n.nodeName; x:=x+1; button1 := Tspeedbutton.Create(self); button1.Name:='speedbutton'+inttostr(x); button1.parent := newpage; button1.Width:=pagecontrol1.Width div 6; button1.Align:=alleft; button1.caption:=node2.selectSingleNode('button1').attributes.item[0].text; button1.hint:=node2.selectSingleNode('button1').attributes.item[1].text; button1.ShowHint:=true; button2 := Tspeedbutton.Create(self); button2.Name:='speedbutton'+inttostr(x); button2.parent := newpage; button2.Width:=pagecontrol1.Width div 6; button2.Align:=alleft; button2.caption:=node2.selectSingleNode('button2').attributes.item[0].text; button2.hint:=node2.selectSingleNode('button2').attributes.item[1].text; button2.ShowHint:=true; x:=x+1; //... usw |
Re: eigenschaften von buttons, die zur laufzeit erstellt wur
Entweder setzt du die Anchor Eigenscfaten beim erstellen oder positionierts sie von Hand im OnResize Ereignis der Form. An die Schaltflächen kommst du mit
![]() |
Re: eigenschaften von buttons, die zur laufzeit erstellt wur
das mit dem findcomponent klappt schon ganz gut.. aber sobald ich das mit einer schleife versuche bekomme ich immer ne fehlermeldung sobald ich das fenster vergrößern/verkleinern will :/
Delphi-Quellcode:
aber warum??
for zz := 1 to 6 do
begin (FindComponent('speedbutton'+IntToStr(zz)) as TspeedButton).Width:=pagecontrol1.Width div 6; (FindComponent('speedbutton'+IntToStr(zz)) as TspeedButton).Align:=alleft; end; end; |
Re: eigenschaften von buttons, die zur laufzeit erstellt wur
Und welche Fehlermeldung -> Glaskugel ist gerade zur Reperatur.
|
Re: eigenschaften von buttons, die zur laufzeit erstellt wur
Zitat:
ich vermute es hat was damit zu tun das die anderen speedbuttons in einem anderen tabset sind... weil wenn ich die schleife bis 7 gehen lasse funzt alles.. und das sind dann die speedbuttons auf dem ersten tab. aber sobald ich mehr als 7 mache gibt es diesen fehler :/ ps: hoffe deiner glaskugel geht es bald wieder besser. |
Re: eigenschaften von buttons, die zur laufzeit erstellt wur
Deine Vermutung ist richtig. Du findest nur die Komponenten, die den richtigen Parent haben - das ist der, dessen Methode FindComponent() du aufgerufen hast. An dieses
![]() Grüße vom marabu |
Re: eigenschaften von buttons, die zur laufzeit erstellt wur
die bessere/schnellere Variante wäre auch die Buttons nach dem erstellen in eine eigene Liste zu packen (TList/TObjectlist/Array etc.). Dann kannst du dir auch sicher sein das deine Buttons in der Liste sind und es müssen auch nicht alle Komponenten durchgegangen werden obwohl du ja eigentlich nur die Buttons brauchst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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 by Thomas Breitkreuz