Account for the margins used by Windows around status bar text.
Because Windows uses margins around the text drawn in the status bar, naively setting a field width to the size of the text didn't work (see previous commit for an example). As this seems a natural enough thing to do, account for this margin inside wxStatusBar itself to avoid the user code the trouble of having to call some special function to do it. Notice that this does mean that fields not containing text may be slightly larger than needed, but we consider that this (rarer) case is less important. Also account correctly for the status bar grip size. And while we still hard code its size, do it in a clearly named function instead of using completely mysterious constants here and there. Closes #10696. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -79,6 +79,28 @@ protected:
|
||||
wxVector<wxToolTip*> m_tooltips;
|
||||
|
||||
private:
|
||||
struct MSWBorders
|
||||
{
|
||||
int horz,
|
||||
vert,
|
||||
between;
|
||||
};
|
||||
|
||||
// retrieve all status bar borders using SB_GETBORDERS
|
||||
MSWBorders MSWGetBorders() const;
|
||||
|
||||
// return the size of the border between the fields
|
||||
int MSWGetBorderWidth() const;
|
||||
|
||||
struct MSWMetrics
|
||||
{
|
||||
int gripWidth,
|
||||
textMargin;
|
||||
};
|
||||
|
||||
// return the various status bar metrics
|
||||
static const MSWMetrics& MSWGetMetrics();
|
||||
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar)
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user