wie bekomme ich ein Menü in einen Dialog
-
Hallo !
Ich hab mir mit der MFC eine MFC .exe dialogbasierende Anwendung erstellt
Ich hab unter Ressource ein Menü hinzugefügt.
Wie bekomme ich es denn nun hin, dass dieses Menü in dem Dialog-Formular Fenster erscheint ???
-
Hi,
geh in die Resourcen Ansicht und suche dein DIalogfeld, betaetige die rechte Maustaste und dann siehst du in dem Reiter "Allgemein" den Ausdruck Menü.
Dort waehlst du einfach dein Menü aus.
Gruss,
DeSoVoDaMu
-
Hallo !
Vielen Dank - so einfach kann das sein.
Ich hab noch Probleme, da auch Funktionen zu aktivieren -
z.B.: Ein Menüpunkt ist "schließen"
also praktisch als wenn ich das Kreuz rechts oben drücke.
Wie lautet denn da der code und wo muß der rein
-
Du gehst in der Resourcen Ansicht auf das Menü und öffnest den Klassenassistent (Strg + W). Es sollte sich ein Fenster öffnen indem man auswählen kann, ob man das Menü einer Klasse hinzufügt oder aber eine neue Klasse für das Menü erstellt.
Du fügst das Menü der vorhandenen Dialog Klasse C***Dlg hinzu.
Nun wählst du im Klassenassistent die ID deines Menüs aus den Object IDs aus und wählst dort die Nachricht COMMAND und klickst auf "Funktion hinzufügen". Du gehst zu der neu hinzugefügten Funktion ("Code bearbeiten") und fügstCDialog::OnOK();
ein.
Der Dialog sollte sich jetzt bei Auswahl des Menüpunktes Schliessen schliessen.
Gruss,
DeSoVoDaMu
-
Hallo !
Auch das klappt wunderbar - Vielen Dank
Jetzt gibt es ja auch noch andere Befehle wie Öffnern, Speichern Drucken etc......
Wie sieht denn da der Code aus oder gibt es da irgendwo eine Übersicht ?
-
heinz.hemer schrieb:
Hallo !
Auch das klappt wunderbar - Vielen Dank
Jetzt gibt es ja auch noch andere Befehle wie Öffnern, Speichern Drucken etc......
Wie sieht denn da der Code aus oder gibt es da irgendwo eine Übersicht ?
Also 'DeSoVoDaMu' hat dir ja erklärt wie es geht. Für andere Operationen wie öffnen, schliessen etc. musst du halt einfach selber noch den Code schreiben.. Die Standartdialoge helfen dir dabei. Guck mal die Klasse CFileDialog an (->MSDN)