else
#endif // wxUSE_RICHEDIT
{
- ::SendMessage(hWnd, EM_SETSEL, from, to);
+ wxTextEntry::DoSetSelection(from, to, flags);
}
if ( (flags & SetSel_Scroll) && !IsFrozen() )
wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER, m_windowId);
InitCommandEvent(event);
event.SetString(GetValue());
- if ( GetEventHandler()->ProcessEvent(event) )
+ if ( HandleWindowEvent(event) )
if ( !HasFlag(wxTE_MULTILINE) )
return;
//else: multiline controls need Enter for themselves
{
switch ( param )
{
- case EN_SETFOCUS:
- case EN_KILLFOCUS:
- {
- wxFocusEvent event(param == EN_KILLFOCUS ? wxEVT_KILL_FOCUS
- : wxEVT_SET_FOCUS,
- m_windowId);
- event.SetEventObject(this);
- GetEventHandler()->ProcessEvent(event);
- }
- break;
-
case EN_CHANGE:
SendUpdateEvent();
break;
}
break;
- // the other edit notification messages are not processed
+ // the other edit notification messages are not processed (or, in
+ // the case of EN_{SET/KILL}FOCUS were already handled at WM_SET/
+ // KILLFOCUS level)
default:
return false;
}
event.Skip();
}
-void wxTextCtrl::OnSetFocus(wxFocusEvent& WXUNUSED(event))
+void wxTextCtrl::OnSetFocus(wxFocusEvent& event)
{
// be sure the caret remains invisible if the user had hidden it
if ( !m_isNativeCaretShown )
{
::HideCaret(GetHwnd());
}
+
+ event.Skip();
}
// ----------------------------------------------------------------------------
// the real height in twips and not the negative number which
// wxFillLogFont() returns (this is correct in general and works with
// the Windows font mapper, but not here)
+
+ wxFont font(style.GetFont());
+
LOGFONT lf;
- wxFillLogFont(&lf, &style.GetFont());
- cf.yHeight = 20*style.GetFont().GetPointSize(); // 1 pt = 20 twips
+ wxFillLogFont(&lf, &font);
+ cf.yHeight = 20*font.GetPointSize(); // 1 pt = 20 twips
cf.bCharSet = lf.lfCharSet;
cf.bPitchAndFamily = lf.lfPitchAndFamily;
wxStrncpy( cf.szFaceName, lf.lfFaceName, WXSIZEOF(cf.szFaceName) );