]> git.saurik.com Git - wxWidgets.git/commitdiff
don't use dialog size gripper under CE (should close #10765)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 2 May 2009 17:06:39 +0000 (17:06 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 2 May 2009 17:06:39 +0000 (17:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/dialog.h
src/msw/dialog.cpp

index 02afe5be8aa054fc9687d6592bb6b2632ff9d285..51edf8c0716b3f150881da92a92cd90244129b2e 100644 (file)
 
 #include "wx/panel.h"
 
+// this option is always enabled (there doesn't seem to be any good reason to
+// disable it) for desktop Windows versions but Windows CE dialogs are usually
+// not resizeable and never show resize gripper anyhow so don't use it there
+#ifdef __WXWINCE__
+    #define wxUSE_DIALOG_SIZEGRIP 0
+#else
+    #define wxUSE_DIALOG_SIZEGRIP 1
+#endif
+
 extern WXDLLIMPEXP_DATA_CORE(const char) wxDialogNameStr[];
 
 class WXDLLIMPEXP_FWD_CORE wxDialogModalData;
@@ -108,6 +117,8 @@ protected:
     // common part of all ctors
     void Init();
 
+private:
+#if wxUSE_DIALOG_SIZEGRIP
     // these functions deal with the gripper window shown in the corner of
     // resizeable dialogs
     void CreateGripper();
@@ -115,11 +126,14 @@ protected:
     void ShowGripper(bool show);
     void ResizeGripper();
 
-private:
     // this function is used to adjust Z-order of new children relative to the
     // gripper if we have one
     void OnWindowCreate(wxWindowCreateEvent& event);
 
+    // gripper window for a resizable dialog, NULL if we're not resizable
+    WXHWND m_hGripper;
+#endif // wxUSE_DIALOG_SIZEGRIP
+
 #if wxUSE_TOOLBAR && defined(__POCKETPC__)
     wxToolBar*  m_dialogToolBar;
 #endif
@@ -127,9 +141,6 @@ private:
     // this pointer is non-NULL only while the modal event loop is running
     wxDialogModalData *m_modalData;
 
-    // gripper window for a resizable dialog, NULL if we're not resizable
-    WXHWND m_hGripper;
-
     DECLARE_DYNAMIC_CLASS(wxDialog)
     wxDECLARE_NO_COPY_CLASS(wxDialog);
 };
index 1f9459d57d3d024d33ae6e14721f142bf6bdcb06..49a1997784380c3db848623233f686ef7f5f6f8c 100644 (file)
@@ -150,7 +150,9 @@ void wxDialog::Init()
 #if wxUSE_TOOLBAR && defined(__POCKETPC__)
     m_dialogToolBar = NULL;
 #endif
+#if wxUSE_DIALOG_SIZEGRIP
     m_hGripper = 0;
+#endif // wxUSE_DIALOG_SIZEGRIP
 }
 
 bool wxDialog::Create(wxWindow *parent,
@@ -179,6 +181,7 @@ bool wxDialog::Create(wxWindow *parent,
     CreateToolBar();
 #endif
 
+#if wxUSE_DIALOG_SIZEGRIP
     if ( HasFlag(wxRESIZE_BORDER) )
     {
         CreateGripper();
@@ -186,6 +189,7 @@ bool wxDialog::Create(wxWindow *parent,
         Connect(wxEVT_CREATE,
                 wxWindowCreateEventHandler(wxDialog::OnWindowCreate));
     }
+#endif // wxUSE_DIALOG_SIZEGRIP
 
     return true;
 }
@@ -195,7 +199,9 @@ wxDialog::~wxDialog()
     // this will also reenable all the other windows for a modal dialog
     Show(false);
 
+#if wxUSE_DIALOG_SIZEGRIP
     DestroyGripper();
+#endif // wxUSE_DIALOG_SIZEGRIP
 }
 
 // ----------------------------------------------------------------------------
@@ -306,6 +312,8 @@ void wxDialog::EndModal(int retCode)
 // wxDialog gripper handling
 // ----------------------------------------------------------------------------
 
+#if wxUSE_DIALOG_SIZEGRIP
+
 void wxDialog::SetWindowStyleFlag(long style)
 {
     wxDialogBase::SetWindowStyleFlag(style);
@@ -394,6 +402,8 @@ void wxDialog::OnWindowCreate(wxWindowCreateEvent& event)
     event.Skip();
 }
 
+#endif // wxUSE_DIALOG_SIZEGRIP
+
 // ----------------------------------------------------------------------------
 // wxWin event handlers
 // ----------------------------------------------------------------------------
@@ -475,6 +485,7 @@ WXLRESULT wxDialog::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lPar
             break;
 
         case WM_SIZE:
+#if wxUSE_DIALOG_SIZEGRIP
             if ( m_hGripper )
             {
                 switch ( wParam )
@@ -487,6 +498,7 @@ WXLRESULT wxDialog::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lPar
                         ShowGripper(true);
                 }
             }
+#endif // wxUSE_DIALOG_SIZEGRIP
 
             // the Windows dialogs unfortunately are not meant to be resizeable
             // at all and their standard class doesn't include CS_[VH]REDRAW