]> git.saurik.com Git - wxWidgets.git/commitdiff
implement wxComboBox::SetEditable()
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 9 Sep 2006 16:24:00 +0000 (16:24 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 9 Sep 2006 16:24:00 +0000 (16:24 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/msw/combobox.cpp

index 79d2195f38ccfe3c194136b4e625a7dcf6899a0a..c108d27e8e767a2cd5f6d7933555e3dd583967c2 100644 (file)
@@ -64,6 +64,10 @@ All (GUI):
 - Support for right-to-left text layout (Diaa Sami during Google Summer of Code)
 - Added wxID_PAGE_SETUP standard id
 
 - Support for right-to-left text layout (Diaa Sami during Google Summer of Code)
 - Added wxID_PAGE_SETUP standard id
 
+wxMSW:
+
+- Implemented wxComboBox::SetEditable()
+
 wxMac:
 
 - Add parameter to the --enable-universal_binary configure option for the path
 wxMac:
 
 - Add parameter to the --enable-universal_binary configure option for the path
index 937e23ea06051416239cbc8c6993faeddd79ed70..2f3f338f46b432981075b7d92b55478910e75631 100644 (file)
@@ -592,11 +592,13 @@ bool wxComboBox::IsEditable() const
     return !HasFlag(wxCB_READONLY);
 }
 
     return !HasFlag(wxCB_READONLY);
 }
 
-void wxComboBox::SetEditable(bool WXUNUSED(editable))
+void wxComboBox::SetEditable(bool editable)
 {
 {
-  // Can't implement in MSW?
-//  HWND hWnd = GetHwnd();
-//  SendMessage(hWnd, EM_SETREADONLY, (WPARAM)!editable, (LPARAM)0L);
+    HWND hWnd = (HWND)GetEditHWND();
+    if ( !::SendMessage(hWnd, EM_SETREADONLY, !editable, 0) )
+    {
+        wxLogLastError(_T("SendMessage(EM_SETREADONLY)"));
+    }
 }
 
 void wxComboBox::SetInsertionPoint(long pos)
 }
 
 void wxComboBox::SetInsertionPoint(long pos)
@@ -604,7 +606,6 @@ void wxComboBox::SetInsertionPoint(long pos)
     if ( GetWindowStyle() & wxCB_READONLY )
         return;
 
     if ( GetWindowStyle() & wxCB_READONLY )
         return;
 
-#ifdef __WIN32__
     HWND hWnd = GetHwnd();
     ::SendMessage(hWnd, CB_SETEDITSEL, 0, MAKELPARAM(pos, pos));
     HWND hEditWnd = (HWND) GetEditHWND();
     HWND hWnd = GetHwnd();
     ::SendMessage(hWnd, CB_SETEDITSEL, 0, MAKELPARAM(pos, pos));
     HWND hEditWnd = (HWND) GetEditHWND();
@@ -615,7 +616,6 @@ void wxComboBox::SetInsertionPoint(long pos)
         // Why is this necessary? (Copied from wxTextCtrl::SetInsertionPoint)
         SendMessage(hEditWnd, EM_REPLACESEL, 0, (LPARAM) wxEmptyString);
     }
         // Why is this necessary? (Copied from wxTextCtrl::SetInsertionPoint)
         SendMessage(hEditWnd, EM_REPLACESEL, 0, (LPARAM) wxEmptyString);
     }
-#endif // __WIN32__
 }
 
 void wxComboBox::SetInsertionPointEnd()
 }
 
 void wxComboBox::SetInsertionPointEnd()