Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mehrere Steuerelemente mit der gleichen "Identität" (https://www.delphipraxis.net/137218-mehrere-steuerelemente-mit-der-gleichen-identitaet.html)

freddiiii 16. Jul 2009 13:01


Mehrere Steuerelemente mit der gleichen "Identität"
 
Hallo allesamt,

Ich stehe bei einem Projekt momentan vor folgendem Problem:
- Ich habe n-Buttons
- Diese Buttons sollen sich lediglich davon Unterscheiden, wo sie angezeigt werden, sprich im Parent
- Ändere ich bei einem Button eine Eigenschaft, sollen die Eigenschaften aller anderen Buttons ebenfalls angeglichen werden

Nun ist die Frage ob es irgendwie Möglich ist Buttons zu erzeugen, die aber wiederum auf einen "Vater"-Button zeigen, sodass alle die selben Eigenschaften haben und diese auch immer parallel angleichen. Oder geh ich gerade logisch in die falsche Richtung?
Ich bedanke mich schon jetzt für die Antworten :)

himitsu 16. Jul 2009 13:17

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
mit der VCL ist das nicht möglich, außerdem kapselt ja jeder Button ein eigenes Button-Control (von Windows)

dir bleibt also keine andere Möglichkeit, als entweder selber alle Buttons zu änder, oder die Buttons zu überwachen und bei Änderung diese bei den anderen Buttons auch zu ändern.


Was willst du denn erreichen?


ist immer nur ein Button auf einmal zu sehen, dann könntest du einen Button anlegen und diesen jeweils zu verschieben (wo er grad sichtbar ist)

bei mehreren Buttons mußt du mehrere Buttons anlegen und deren eigenschaften "klonen"/kopieren

Uwe Raabe 16. Jul 2009 13:17

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
Zitat:

Zitat von freddiiii
- Diese Buttons sollen sich lediglich davon Unterscheiden, wo sie angezeigt werden, sprich im Parent

Auch nicht in dem, was sie tun, wenn man draufklickt?

freddiiii 16. Jul 2009 13:25

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
Zitat:

Zitat von Uwe Raabe
Zitat:

Zitat von freddiiii
- Diese Buttons sollen sich lediglich davon Unterscheiden, wo sie angezeigt werden, sprich im Parent

Auch nicht in dem, was sie tun, wenn man draufklickt?

nein, auch nicht darin ;-)

@himitsu:

Gneau das was du da gerade geschrieben hast habe ich befürchtet. Das mit dem kopieren der Eigenschaften sollte wäre ein schlechter Weg, da dies, bezogen auf das was ich mache, zu aufwendig wäre. Das mit dem verschieben habe ich mir auch überlegt, wobei ich dies als keine wirklich elegante Lösung empfinde. Ich überlege schon seit Stunden hin und her, wie ich das mal am geschicktesten lösen könnte :/

himitsu 16. Jul 2009 13:28

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
dank RTTI kannst du dr doch etwas zusammenbasteln, welches alles "automaisch" kopiert

freddiiii 16. Jul 2009 13:33

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
Ich hör grad RTTI zum ersten mal, les mir aber gerade parallel nen Artikel darüber durch :-)
Naja wen es wirklich nicht so geht, wie ich es mir erhofft habe, werd ich wohl ein zwischenweg zwischen Kapselung der Buttons in einem Überobjekt und dem hinundherkopieren wählen müssen.

Lannes 16. Jul 2009 13:56

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
Hallo,

welchem Element wird den der Button jeweils zugeordnet?

freddiiii 16. Jul 2009 13:57

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
was genau meinste oder worauf willste hinnaus?

himitsu 16. Jul 2009 13:59

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
was willst du denn nun damit erreichen und was kann sich alles an den Buttons ändern, welces übernommen werden soll?

im Notfall würde ja auch eine einfache Setter-Funktion ausreichen

z.B. statt
Delphi-Quellcode:
Button1.Caption := 'xyz';
Button2.Caption := 'xyz';
Delphi-Quellcode:
SetButtonCaption('xyz');
Delphi-Quellcode:
procedure SetButtonCaption(s: String);
begin
  Button1.Caption := s;
  Button2.Caption := s;
  Button3.Caption := s;
  ...
end;
wenn man die gewünschten Buttons irgendwie markiert oder man eine der vorhandenen Eigenschaften als Markierung nehmen kann, könnte man die Components der Form nach diesen Buttons durchsuchen und es überall setzen.

freddiiii 16. Jul 2009 14:04

Re: Mehrere Steuerelemente mit der gleichen "Identität&
 
Ändern kan sich so ziemlich alles. Das fängt bei der Caption an und hört bei nem Popupmenü auf. Natürlich könnte ich Setter-Funktionen machen, das ist jedoch für das Projekt grade sehr zeit- und arbeitsintensiv. ich hab mir jetzt überlegt eine klasse für einen fiktiven button zu schreiben, was halt im endeffekt auch auf sowas wie den setter-kram rausläuft, aber was solls.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 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