Improved search text control height and position on Windows.
Was previously much too tall (regression from 3.0). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c7ca903834
commit
550b039d6c
@ -126,7 +126,15 @@ protected:
|
|||||||
wxSearchTextCtrl* const self = const_cast<wxSearchTextCtrl*>(this);
|
wxSearchTextCtrl* const self = const_cast<wxSearchTextCtrl*>(this);
|
||||||
|
|
||||||
self->SetWindowStyleFlag((flags & ~wxBORDER_MASK) | wxBORDER_DEFAULT);
|
self->SetWindowStyleFlag((flags & ~wxBORDER_MASK) | wxBORDER_DEFAULT);
|
||||||
const wxSize size = wxTextCtrl::DoGetBestSize();
|
wxSize size = wxTextCtrl::DoGetBestSize();
|
||||||
|
|
||||||
|
// The calculation for no external borders in wxTextCtrl::DoGetSizeFromTextSize also
|
||||||
|
// removes any padding around the value, which is wrong for this situation. So we
|
||||||
|
// can't use wxBORDER_NONE to calculate a good height, in which case we just have to
|
||||||
|
// assume a border in the code above and then subtract the space that would be taken up
|
||||||
|
// by a themed border (the thin blue border and the white internal border).
|
||||||
|
size.y -= 4;
|
||||||
|
|
||||||
self->SetWindowStyleFlag(flags);
|
self->SetWindowStyleFlag(flags);
|
||||||
|
|
||||||
return size;
|
return size;
|
||||||
@ -515,7 +523,17 @@ void wxSearchCtrl::LayoutControls()
|
|||||||
x += sizeSearch.x;
|
x += sizeSearch.x;
|
||||||
x += searchMargin;
|
x += searchMargin;
|
||||||
|
|
||||||
m_text->SetSize(x, 0, textWidth, height);
|
#ifdef __WXMSW__
|
||||||
|
// The text control is too high up on Windows; normally a text control looks OK because
|
||||||
|
// of the white border that's part of the theme border. We can also remove a pixel from
|
||||||
|
// the height to fit the text control in, because the padding in EDIT_HEIGHT_FROM_CHAR_HEIGHT
|
||||||
|
// is already generous.
|
||||||
|
int textY = 1;
|
||||||
|
#else
|
||||||
|
int textY = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
m_text->SetSize(x, textY, textWidth, height-textY);
|
||||||
x += textWidth;
|
x += textWidth;
|
||||||
x += cancelMargin;
|
x += cancelMargin;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user