Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Frame Source ändern?
Kaspar - Mo 26.12.05 15:50
Titel: Frame Source ändern?
Hallo Zusammen,
Ich hoffe, dass meine Frage nicht all zu blöd ist.
Ist es möglich bei einem Frame die Quelle zu ändern?
Also so dass wenn ich auf einen Button klicke, Frame1 den Unit2 anstatt des Unit1 nutzt?
Wäre super wenn Ihr mir helfen könntet. :-)
Gruss Kaspar
Kaspar - Di 27.12.05 14:20
Hallo,
Ich will ja nicht nerven, doch langsam bin ich am verzweifeln :-(
Also ich mochte nur links eine nav mit 5 Buttons, und dann rechts ein "bereich" oder halt eine Frame der sich bei jedem Buttonklick ändert. Also zb. Button1 lädt Frame1 - Button 2 -> Frame 2 etc.
Ist das möglich mit Frames? Oder giebts eine andere möglichkeit?
Danke im Voraus :-)
Gruss Kaspar
noidic - Di 27.12.05 14:33
Das ist sehr gut möglich mit Frames. Du legst einfach ein Panel dahin, wo der Frame zu sehen sein soll ( z.B. MyPanel ) und definierst in der Form eine private-Variable vom Typ TFrame, z.B.
Nun baust du für jeden der Buttons eine Ereignisbehandlung der Art:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure Form1.Button1Click( Sender: TObject ); begin if assigned( MyFrame ) then MyFrame.Free; MyFrame := TFrame1.Create( nil ); MyFrame.Parent := MyPanel; end; |
So sollte es gehen.
Grendel - Di 27.12.05 14:56
noidic hat folgendes geschrieben: |
Du legst einfach ein Panel dahin, wo der Frame zu sehen sein soll |
Das Panel kannst Du dir aber auch schenken. d.h. Du kannst als Parent auch das Form direkt zuweisen.
Bis neulich ...
noidic - Di 27.12.05 15:01
sicher, aber es sollte ja anscheinend nur ein Teil des Formulars von dem Frame ausgefüllt werden.
Grendel - Di 27.12.05 15:19
noidic hat folgendes geschrieben: |
sicher, aber es sollte ja anscheinend nur ein Teil des Formulars von dem Frame ausgefüllt werden. |
Was bei korrekter Verwendung der Align Properties ja auch kein Problem ist.
Bis neulich ...
Kaspar - Di 27.12.05 15:43
Vielen Dank für die Antworten.
Doch leider Pack ich das nicht :-(
Aaaaalso:
Ich habe 1 Form (Form1)
2 Buttons (Button1, Button2)
1 Panel (Panel1)
Nun gehe ich auf Datei->Neu->Frame und speichere das als Unit2.pas
Dasselbe nocheinmal mit Unit3.pas
Nun mache ich ein Onclick Event, auf beide Buttons.
Und was nun?
Bitte entschuldigt, ich bin leider noch ein Delphi Newbie, doch es wäre wirklich super, wenn Ihr mir trozdem weiterhelft :-)
Kaspar - Mi 28.12.05 17:55
Hallo,
Bitte entschuldigt ich weiss, dass ich nerve :-( , doch könnt Ihr mir trozdem kurz helfen?
Wäre wirklich suuuper! :-D
Denn ich kriegs einfach nicht hin, und bin kurz vorm Verzweifeln :-(
noidic - Mi 28.12.05 17:57
Was in die OnClick-Events reinmuss hab ich doch bereits geschrieben, wo hakts denn da?
Kaspar - Mi 28.12.05 18:03
Naja, wie gebe ich denn die Quelle für den neuen Frame an?
Also dass der dann zb. Unit2 oder so nutzt?
noidic - Do 29.12.05 09:01
du bindest die benötigte Unit im Uses-Teil ein und im OnClick benutzt du dann die Frame-Klasse, die da deklariert ist, also z.B. TFrame2 oder wie auch immer die da heissen mag.
Kaspar - Do 29.12.05 16:14
Juhuuu
Es hat geklappt!
Viiiiieeeelen Dank, an alle!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!