diff --git a/include/wx/defs.h b/include/wx/defs.h index 6601a8d52d..ae0ff7dc64 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -497,7 +497,7 @@ typedef wxUint16 wxWord; #define wxSUNKEN_BORDER 0x08000000 #define wxRAISED_BORDER 0x04000000 #define wxBORDER 0x02000000 -#define wxSIMPLE_BORDER 0x02000000 +#define wxSIMPLE_BORDER wxBORDER #define wxSTATIC_BORDER 0x01000000 #define wxTRANSPARENT_WINDOW 0x00100000 #define wxNO_BORDER 0x00200000 @@ -518,6 +518,10 @@ typedef wxUint16 wxWord; // outside of dialogs. #define wxTAB_TRAVERSAL 0x00080000 +// Add this style if the control wants to get all keyboard messages (under +// Windows, it won't normally get the dialog navigation key events) +#define wxWANTS_CHARS 0x00040000 + // Orientations #define wxHORIZONTAL 0x01 #define wxVERTICAL 0x02 diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index 11cde04d7a..2d2b52a2dc 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -178,6 +178,7 @@ #define wxUSE_VALIDATORS 1 #define wxUSE_ACCEL 1 #define wxUSE_SASH 1 +#define wxUSE_TEXTDLG 1 /* * Finer detail diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 78b7232946..422921686a 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -1776,6 +1776,14 @@ long wxWindow::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) } break; + case WM_GETDLGCODE: + if ( GetWindowStyleFlag() & wxWANTS_CHARS ) + { + rc.result = DLGC_WANTARROWS | DLGC_WANTCHARS | DLGC_WANTTAB; + processed = TRUE; + } + break; + case WM_KEYDOWN: // If this has been processed by an event handler, // return 0 now (we've handled it).