- // if there is a default button, Enter should press it
- if ( !GetDefaultItem() ) {
- // but if there is not it makes sense to make it work
- // like a TAB
-
- // nothing to do - all variables are already set
-
- break;
+ {
+ if ( lDlgCode & DLGC_WANTMESSAGE )
+ {
+ // control wants to process Enter itself, don't
+ // call IsDialogMessage() which would interpret
+ // it
+ return FALSE;
+ }
+#ifndef __WIN16__
+ wxButton *btnDefault = GetDefaultItem();
+ if ( btnDefault && !bCtrlDown )
+ {
+ // if there is a default button, Enter should
+ // press it
+ (void)::SendMessage((HWND)btnDefault->GetHWND(),
+ BM_CLICK, 0, 0);
+ return TRUE;
+ }
+ // else: but if there is not it makes sense to make it
+ // work like a TAB - and that's what we do.
+ // Note that Ctrl-Enter always works this way.
+#endif