- SendMessage(GetHwnd(), BM_SETSTYLE, BS_DEFPUSHBUTTON, 1L);
+ // this doesn't work with bitmap buttons because it also removes the
+ // "ownerdrawn" style...
+ if ( btnOldDefault && !wxDynamicCast(btnOldDefault, wxBitmapButton) )
+ {
+ // remove the BS_DEFPUSHBUTTON style from the other button
+ long style = GetWindowLong(GetHwndOf(btnOldDefault), GWL_STYLE);
+ style &= ~BS_DEFPUSHBUTTON;
+ SendMessage(GetHwndOf(btnOldDefault), BM_SETSTYLE, style, 1L);
+ }
+
+ // set this button as the default
+ long style = GetWindowLong(GetHwnd(), GWL_STYLE);
+ style |= BS_DEFPUSHBUTTON;
+ SendMessage(GetHwnd(), BM_SETSTYLE, style, 1L);