Initial/Best size fixes for wxRadioBox, wxSlider and wxStaticText on wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
98c092854c
commit
7a5a571859
@ -128,6 +128,9 @@ public:
|
|||||||
{ SetBackgroundColour(bg); }
|
{ SetBackgroundColour(bg); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
// we can't compute our best size before the items are added to the control
|
||||||
|
virtual void SetInitialBestSize(const wxSize& WXUNUSED(size)) { }
|
||||||
|
|
||||||
// subclass one radio button
|
// subclass one radio button
|
||||||
void SubclassRadioButton(WXHWND hWndBtn);
|
void SubclassRadioButton(WXHWND hWndBtn);
|
||||||
|
|
||||||
|
@ -346,9 +346,11 @@ bool wxRadioBox::Create(wxWindow *parent,
|
|||||||
(HMENU)NewControlId(), wxGetInstance(), NULL);
|
(HMENU)NewControlId(), wxGetInstance(), NULL);
|
||||||
|
|
||||||
SetSelection(0);
|
SetSelection(0);
|
||||||
|
|
||||||
SetSize(pos.x, pos.y, size.x, size.y);
|
SetSize(pos.x, pos.y, size.x, size.y);
|
||||||
|
|
||||||
|
// Now that we have items determine what is the best size and set it.
|
||||||
|
SetBestSize(size);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,11 +143,6 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
|
|||||||
m_windowStyle = style;
|
m_windowStyle = style;
|
||||||
m_tickFreq = 0;
|
m_tickFreq = 0;
|
||||||
|
|
||||||
int x = pos.x;
|
|
||||||
int y = pos.y;
|
|
||||||
int width = size.x;
|
|
||||||
int height = size.y;
|
|
||||||
|
|
||||||
long msStyle = 0;
|
long msStyle = 0;
|
||||||
long wstyle = 0;
|
long wstyle = 0;
|
||||||
|
|
||||||
@ -272,9 +267,13 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetSize(x, y, width, height);
|
SetSize(pos.x, pos.y, size.x, size.y);
|
||||||
SetValue(value);
|
SetValue(value);
|
||||||
|
|
||||||
|
// SetInitialBestSize is not called since we don't call MSWCreateControl
|
||||||
|
// for this control, so call SetBestSize here instead.
|
||||||
|
SetBestSize(size);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,6 +216,7 @@ void wxStaticText::SetLabel(const wxString& label)
|
|||||||
if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) )
|
if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) )
|
||||||
{
|
{
|
||||||
DoSetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
|
DoSetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
|
||||||
|
SetSizeHints(GetSize());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,6 +230,7 @@ bool wxStaticText::SetFont(const wxFont& font)
|
|||||||
if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) )
|
if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) )
|
||||||
{
|
{
|
||||||
DoSetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
|
DoSetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
|
||||||
|
SetSizeHints(GetSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user