| Autor |
Beitrag |
dreamtheater
      
Beiträge: 46
|
Verfasst: Do 27.03.03 21:06
Hallo!
Mein Projekt umfaßt mehrere Forms. Allen gemein sollte das Hauptmenü sein. Wie könnte ich, ohne viel redundanten code zu erzeugen, EIN Menü in mehreren Forms verwenden?
Danke,
dreamtheater
P.S: Gehört das überhaupt ins VCL Forum? Wenn nicht, dann sorry...
|
|
Horst
      
Beiträge: 120
|
Verfasst: Do 27.03.03 21:13
in dem du in jedem Form dein Mainmenuform in die uses-liste einträgst und dann kannst du in der Eingenschaft Form.menu deinen menüeintrag zuweisen. Weitergeholfen
gruß horst

|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 27.03.03 21:24
Hi,
@Horst
Bist du sicher, dass das geht?
Kommt dann nicht eine Fehlermeldung "MainMenu1 wird von einem anderen Formular benutzt"?
MFG
- Ernesto -
|
|
dreamtheater 
      
Beiträge: 46
|
Verfasst: Do 27.03.03 21:27
Leider funktioniert das nicht - der Objektinspektor meint: "Menü 'MainMenu1' wird bereits von einem anderen Formular benutzt."...
---
Nachtrag: *g*@Ernesto
Zuletzt bearbeitet von dreamtheater am Do 27.03.03 21:29, insgesamt 1-mal bearbeitet
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 27.03.03 21:28
sag ich doch
MFG
- Ernesto -
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 27.03.03 21:36
Hallo nochmal,
ist es eine MDI-Anwendung die du da machst?
Wenn ja dann erscheinen ja die Menüs der Child Formulare ohnehin auf dem Hauptformular. Es ist immer nur ein Menü zu sehen, und zwar die des aktiven Child-Formulars.
Und wenn die Menüs alle gleich aussehen sollen, dann erstellst du auf einem Formular einmal das Menü und kopierst es in die anderen Formulare. Die Einträge, die das jeweilige Child-Formular nicht benötigt kannst Du ja deaktivieren.
Damit müsstest du doch schon was anfangen können oder?
MFG
- Ernesto -
|
|
dreamtheater 
      
Beiträge: 46
|
Verfasst: Do 27.03.03 22:00
@Ernesto
Hmm... das löst aber (glaube ich) mein Redundanzproblem nicht... die Ereignisbehandlungsroutinen muß ich ja nach wie vor mehrmals in den code aufnehmen, oder?
(Es ist übrigens eine SDI Andwendung)
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 27.03.03 22:09
Hi,
ja das schon. Aber es gibt ja schließlich copy/paste.
Anders gehts auch in einer MDI-Anwendung nicht. Du kannst nicht ohne weiteres von einer Form auf die Daten einer anderen Form zugreifen, wenn diese nicht automatisch erstellt werden. Das führt dann zu Exceptions.
MFG
- Ernesto -
|
|
dreamtheater 
      
Beiträge: 46
|
Verfasst: Do 27.03.03 22:16
| ErnestoChe hat folgendes geschrieben: |
Das führt dann zu Exceptions.
- Ernesto - |
Das habe ich leider schon bemerken müssen... :o(
Aber ist das nicht relativ 'unelegant' den source code zweimal im projekt zu haben? (mal abgesehen davon, daß das prog größer wird)
Danke aber trotzdem für die Bemühungen!
Zuletzt bearbeitet von dreamtheater am Do 27.03.03 22:25, insgesamt 1-mal bearbeitet
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 27.03.03 22:25
Hi,
| dreamtheater hat folgendes geschrieben: |
Aber ist das nicht relativ 'unelegant' den source code zweimal im projekt zu haben? (mal abgesehen davon, daß das prog größer wird) |
Ich weiss zwar nicht was du vor hast, aber dann müsste ja deine Anwendung an sich unelegant sein, wenn zwei Formulare dasselbe machen, oder?
Ausserdem kannst du ja den code einmal separat in Prozeduren oder funktionen schreiben, und dann jedesmal aufrufen. Das ist eigentlich sehr üblich und nicht unelegant.
MFG
- Ernesto -
|
|
dreamtheater 
      
Beiträge: 46
|
Verfasst: Do 27.03.03 22:30
Stimmt, das wär natürlich eine Möglichkeit.... Danke
|
|