// we assume that buttons use the same labels as menu items but unlike them
// they should never use ellipsis
- if ( flags & wxSTOCK_FOR_BUTTON )
+ if ( (flags & wxSTOCK_FOR_BUTTON) == wxSTOCK_FOR_BUTTON )
{
wxString baseLabel;
if ( stockLabel.EndsWith("...", &baseLabel) )
"button labels never use accelerators" );
}
+#ifdef __WXMSW__
+ // special case: the "Cancel" button shouldn't have a mnemonic under MSW
+ // for consistency with the native dialogs (which don't use any mnemonic
+ // for it because it is already bound to Esc implicitly)
+ if ( id == wxID_CANCEL )
+ flags &= ~wxSTOCK_WITH_MNEMONIC;
+#endif // __WXMSW__
+
if ( !(flags & wxSTOCK_WITH_MNEMONIC) )
{
stockLabel = wxStripMenuCodes(stockLabel);