]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
Got generic wxListCtrl, wxTreeCtrl working under Windows, wxNotebook almost;
[wxWidgets.git] / src / msw / textctrl.cpp
index dc70319e757c3a7c804e0024ba155fa57e0d681a..0f5afa110a0f69bfeebb46909c709dcedfe0e767 100644 (file)
@@ -200,9 +200,9 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
 
   SubclassWin(GetHWND());
 
-  if ( parent->GetFont() && parent->GetFont()->Ok() )
+  if ( parent->GetFont().Ok() && parent->GetFont().Ok() )
   {
-  SetFont(* parent->GetFont());
+    SetFont(parent->GetFont());
   }
   else
   {
@@ -328,7 +328,7 @@ void wxTextCtrl::SetSize(int x, int y, int width, int height, int sizeFlags)
   int cx; // button font dimensions
   int cy;
 
-  wxGetCharSize(GetHWND(), &cx, &cy,GetFont());
+  wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
 
   int control_width, control_height, control_x, control_y;
 
@@ -937,6 +937,22 @@ WXHBRUSH wxTextCtrl::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
 
 void wxTextCtrl::OnChar(wxKeyEvent& event)
 {
+    // Fix by Marcel Rasche to allow Alt-Ctrl insertion of special characters
+  switch(event.KeyCode())
+  {
+  case '{':
+  case '}':
+  case '[':
+  case ']':
+  case '|':
+  case '~':
+  case '\\':
+   {
+    char c=(char)event.KeyCode();
+    *this << c;
+   }
+   break;
+  }
   if ( (event.KeyCode() == WXK_RETURN) && (m_windowStyle & wxPROCESS_ENTER))
   {
     wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER, m_windowId);
@@ -1034,7 +1050,7 @@ bool wxTextCtrl::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
                                                  : wxEVT_SET_FOCUS,
                            m_windowId);
         event.SetEventObject( this );
-        ProcessEvent(event);
+        GetEventHandler()->ProcessEvent(event);
       }
       break;
 
@@ -1083,7 +1099,7 @@ bool wxTextCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam)
   event.SetEventObject( this );
   event.SetEventType(eventType);
 
-  if ( !ProcessEvent(event) )
+  if ( !GetEventHandler()->ProcessEvent(event) )
     return FALSE;
 
     return TRUE;