git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30434
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#define TB_HITTEST (WM_USER + 69)
#endif
#define TB_HITTEST (WM_USER + 69)
#endif
+#ifndef TB_GETMAXSIZE
+ #define TB_GETMAXSIZE (WM_USER + 83)
+#endif
+
// these values correspond to those used by comctl32.dll
#define DEFAULTBITMAPX 16
#define DEFAULTBITMAPY 15
// these values correspond to those used by comctl32.dll
#define DEFAULTBITMAPX 16
#define DEFAULTBITMAPY 15
wxSize wxToolBar::DoGetBestSize() const
{
wxSize wxToolBar::DoGetBestSize() const
{
- wxSize sizeBest = GetToolSize();
- sizeBest.x *= GetToolsCount();
+ wxSize sizeBest;
+
+ SIZE size;
+ if ( !::SendMessage(GetHwnd(), TB_GETMAXSIZE, 0, (LPARAM)&size) )
+ {
+ // maybe an old (< 0x400) Windows version? try to approximate the
+ // toolbar size ourselves
+ sizeBest = GetToolSize();
+ sizeBest.x *= GetToolsCount();
+
+ // reverse horz and vertical components if necessary
+ if ( HasFlag(wxTB_VERTICAL) )
+ {
+ int t = sizeBest.x;
+ sizeBest.x = sizeBest.y;
+ sizeBest.y = t;
+ }
+ }
+ else
+ {
+ sizeBest.x = size.cx;
+ sizeBest.y = size.cy;
+ }
- // reverse horz and vertical components if necessary
- return HasFlag(wxTB_VERTICAL) ? wxSize(sizeBest.y, sizeBest.x) : sizeBest;
}
WXDWORD wxToolBar::MSWGetStyle(long style, WXDWORD *exstyle) const
}
WXDWORD wxToolBar::MSWGetStyle(long style, WXDWORD *exstyle) const