managing the size of this toolbar, otherwise assume that something
else (like a sizer) is managing the layout of this toolbar and leave
it alone.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36866
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
void wxToolBar::UpdateSize()
{
void wxToolBar::UpdateSize()
{
- // the toolbar size changed
- ::SendMessage(GetHwnd(), TB_AUTOSIZE, 0, 0);
+ // In case Realize is called after the initial display (IOW the programmer
+ // may have rebuilt the toolbar) give the frame the option of resizing the
+ // toolbar to full width again, but only if the parent is a frame and the
+ // toolbar is managed by the frame. Otherwise assume that some other
+ // layout mechanism is controlling the toolbar size and leave it alone.
- // we must also refresh the frame after the toolbar size (possibly) changed
wxFrame *frame = wxDynamicCast(GetParent(), wxFrame);
wxFrame *frame = wxDynamicCast(GetParent(), wxFrame);
+ if ( frame && frame->GetToolBar() == this )
+ {
+ // the toolbar size changed
+ ::SendMessage(GetHwnd(), TB_AUTOSIZE, 0, 0);
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------