- ::SendMessage(GetWinHwnd(parent), DM_SETDEFID, m_windowId, 0L);
+ wxCHECK_RET( parent, _T("button without parent?") );
+
+ // set this one as the default button both for wxWindows and Windows
+ wxWindow *winOldDefault = parent->SetDefaultItem(this);
+ ::SendMessage(GetWinHwnd(parent), DM_SETDEFID, m_windowId, 0L);
+
+ UpdateDefaultStyle(this, winOldDefault);
+}
+
+void wxButton::SetTmpDefault()
+{
+ wxWindow *parent = GetParent();
+
+ wxCHECK_RET( parent, _T("button without parent?") );
+
+ wxWindow *winOldDefault = parent->GetDefaultItem();
+ parent->SetTmpDefaultItem(this);
+ if ( winOldDefault != this )
+ {
+ UpdateDefaultStyle(this, winOldDefault);