Wenn die CreateSimpleReBar in WTL verwendet wird, hat die Hauptmenüleiste diese blaue Farbe beim Maus-Hover und nicht die native vista/7 runde und transparente Form. Auch aus irgendeinem Grund scheint die Menüleiste höher zu sein als die übliche native.CreateSimpleReBar in WTL vista/7 natives Erscheinungsbild
Zeichnet CreateSimpleReBar das Menü selbst oder fehle ich etwas?
http://imageshack.us/photo/my-images/259/wtlmainmenu.png/
HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE);
// attach menu
m_CmdBar.AttachMenu(GetMenu());
// load command bar images
m_CmdBar.LoadImages(IDR_MAINFRAME);
// remove old menu
SetMenu(NULL);
// Set m_hWndToolBar member
CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE);
// Add a band to the rebar represented by m_hWndToolBar
AddSimpleReBarBand(hWndCmdBar);
Also CCommandBarCtrl verwendet Owner-Draw, um das Menü zu zeichnen. Nicht eine sehr gute Möglichkeit, an neue Windows-Versionen anzupassen, imo. Vielleicht könnte man SetMenuItemBitmaps() verwenden? – user555
Sie haben eine Auswahl. Standard-Menü (alte Schule) einschließlich benutzerdefinierter, Befehlsleiste ist immer noch nicht so schlecht, schickes Band. –
Ich habe meine Hände schmutzig in der Win32 API und habe es funktioniert mit SetMenuItemInfo(). http://pastebin.com/Ba2TCH7Q – user555