#endif
// base initialization
- if ( !CreateBase(parent, id, pos, size, style, validator, name) )
+ if ( !CreateControl(parent, id, pos, size, style, validator, name) )
return FALSE;
- if ( parent )
- parent->AddChild(this);
-
// translate wxWin style flags to MSW ones
WXDWORD msStyle = MSWGetCreateWindowFlags();
if ( style & wxTE_DONTWRAP )
{
// automatically scroll the control horizontally as necessary
- msStyle |= WS_HSCROLL;
+ //
+ // NB: ES_AUTOHSCROLL is needed for richedit controls or they don't
+ // show horz scrollbar at all, even in spite of WS_HSCROLL, and as
+ // it doesn't seem to do any harm for plain edit controls, add it
+ // always
+ msStyle |= WS_HSCROLL | ES_AUTOHSCROLL;
}
if ( style & wxTE_READONLY )
}
wxTextCtrlHitTestResult
-wxTextCtrl::HitTest(const wxPoint& pt, wxTextCoord *col, wxTextCoord *row) const
+wxTextCtrl::HitTest(const wxPoint& pt, long *posOut) const
{
// first get the position from Windows
LPARAM lParam;
else
rc = wxTE_HT_ON_TEXT;
- // finally translate to column/row
- if ( !PositionToXY(pos, col, row) )
- {
- wxFAIL_MSG( _T("PositionToXY() not expected to fail in HitTest()") );
- }
+ if ( posOut )
+ *posOut = pos;
return rc;
}
wxSize wxTextCtrl::DoGetBestSize() const
{
int cx, cy;
- wxGetCharSize(GetHWND(), &cx, &cy, &GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, GetFont());
int wText = DEFAULT_ITEM_WIDTH;