SDI/MDI: Menüs mit Symbolen/Icons neben den Befehlen
-
Hallo,
ich möchte gerne einige Menüeinträge mit Symbolen "verzieren". So wie man es bei Neu, Drucken, Kopieren/Einfügen etc. gewohnt ist.
Nun habe ich eine ganze Weile lang gesucht und bin mir nicht sicher, ob ich irgendwas ganz einfaches übersehen habe:
Muss man das selber "per Hand" programmieren, oder gibt es irgendwo ein Wizard oder ein "Rechte-Maus-Klick --> Symbol hinzufügen"-Befehl in VS, welchen ich nicht kenne.?
Wenn man es ausprogrammieren muss: Ist die Funktion SetMenuItemBitmaps() dafür richtig?
Ich benutze Visual Studio 2008 (Prof.).
-
Benutze MFCNext (SP1), dann geht das automatisch...
-
Martin Richter schrieb:
Benutze MFCNext (SP1), dann geht das automatisch...
Ok, ich benutze MFCNext.
Was genau geht mit MFCNext automatisch? Dass die Standard-Menübefhle ein Symbol bekommen, oder dass Hinzufügen von Symbolen zu eigenen Menüs/Menübefehlen?
-
Genau. Jeder Menüpunkt der auch als Button Menü vorkommt hat auch sein Symbol.
Für die bei denen kein Toolbar vorhanden ist kann man eine Default Liste festlegen.
-
Was heißt "als Button Menü"? In einer Toolbar?
Und wenn ein Menübefehl nicht in einer Toolbar enthalten ist, kann man ein Default-Bild festlegen? Wo kann man diese Default-Liste festlegen?
-
Ja. Ich meine einen Toolbar.
Für alle anderen Commands legst Du einen Dummy Toolbar an und rufst CMFCToolBar::AddToolBarForImageCollection http://msdn.microsoft.com/en-us/library/bb983344.aspx auf.
-
Mensch, das ist ja einfach!
Ok, also:
1.) Neue Toolbar-Ressource anlegen (Ressourcenansicht-->Toolbar-->Toolbar einfügen)
2.) Toolbar wird mit Symbolleisten-Editor geöffnet (auch über Rechtsklick aufrufbar)
3.) Buttons malen
4.) Den Buttons genau die ID geben, die der zugehörige Menübefehl hat
5.) CMFCToolBar::AddToolBarForImageCollection()-Aufruf://MainFrm.cpp: //... int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { //... CMFCToolBar::AddToolBarForImageCollection(IDR_MY_TOOLBAR); //... }
Fertig!
EDIT: Danke Martin!