}
}
- // TODO use SetMenuItemInfo(MFS_DEFAULT) to put it in bold face
+#ifndef __WIN16__
+ // put the title string in bold face
+ if ( !m_title.IsEmpty() )
+ {
+ MENUITEMINFO mii;
+ mii.cbSize = sizeof(mii);
+ mii.fMask = MIIM_STATE;
+ mii.fState = MFS_DEFAULT;
+
+ if ( !SetMenuItemInfo(hMenu, (unsigned)idMenuTitle, FALSE, &mii) )
+ {
+ wxLogLastError("SetMenuItemInfo");
+ }
+ }
+#endif
}
const wxString wxMenu::GetTitle() const
bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id)
{
- wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED);
- event.SetEventObject( this );
- event.SetId( id );
- event.SetInt( id );
- ProcessCommand(event);
- return TRUE;
+ // ignore commands from the menu title
+
+ // NB: VC++ generates wrong assembler for `if ( id != idMenuTitle )'!!
+ if ( id != (WXWORD)idMenuTitle )
+ {
+ wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED);
+ event.SetEventObject( this );
+ event.SetId( id );
+ event.SetInt( id );
+ ProcessCommand(event);
+ }
+
+ return TRUE;
}
// Finds the item id matching the given string, -1 if not found.
wxMenuBar::wxMenuBar()
{
m_eventHandler = this;
+ m_menuCount = 0;
+ m_menus = NULL;
+ m_titles = NULL;
+ m_menuBarFrame = NULL;
+ m_hMenu = 0;
+}
+wxMenuBar::wxMenuBar( long WXUNUSED(style) )
+{
+ m_eventHandler = this;
m_menuCount = 0;
m_menus = NULL;
m_titles = NULL;