Autor Beitrag
Tower
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99



BeitragVerfasst: Do 16.01.03 09:32 
Hi!

Ich möchte in einem meiner Projekte mit sämtlichen Formularen das gleiche machen. Geht das irgendwie völlig dynamisch?

Mit FindGlobalComponent könnte ich ja jedes Formular ansprechen, nur müsste ich dann vorher halt alle Namen irgendwo speichern. Lieber wäre mir soetwas wie

ausblenden Quelltext
1:
2:
for i:=0 to GlobalComponentCount-1 do
  GlobalComponent[i].Color := clRed;


oder irgendsowas. (Keine Angst, ist nur ein Beispiel, meine Formulare werden nicht alle rot :wink:)


Danke Euch!

Carsten.
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Fr 17.01.03 00:43 
Hast du die Eigenschaften Screen.FormCount und Screen.Forms in betracht gezogen?

_________________
Ist Zeit wirklich Geld?
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 17.01.03 01:11 
Mach es doch über Messages. Einfach eine eigene Massage kreieren (z.B. WM_FRABEWECHSEL) und natürlich auch eine Prozedur die die Message empfängt. Als Parameter kannst du die Farbe weitergeben. Dann brauchst du nur noch an die Applikation eine Message zu schicken und alle Formulare empfangen die Information.

Ich hab sowas mal in einem Programm gemacht. Alle Formulare sind unabhängig voneinander (d.h. keine Eintrag in der Uses). Die Kommunikation geht über die Messages.
Tower Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99



BeitragVerfasst: Fr 17.01.03 10:40 
Zu den Messages: Geht in meinem Fall leider nicht, da ich gewisse Daten aus allen Formularen des Projektes speichern will (genauer gesagt: die Zustände aller Checkboxen, Editfelder, etc.). Sprich: Ich muss wirklich auf die Formulare zugreifen, sie sollen nicht selbst etwas ausführen. Ok, hätte ich vielleicht gleich schreiben sollen, statt des blöden Farbbeispiels, sorry.

Zu Scren.FormCount: Das klappt tatsächlich. Finde ich zwar verwunderlich, weil die Hilfe sehr explizit zu sagen scheint, dass es sich nur auf die Forms bezieht, die GERADE AKTUELL angezeigt werden (und das werden sie bei mir nicht alle)... aber ok! Wenn's funktioniert... :P

Danke euch!