Further attempts to get button header right

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2007-10-22 18:04:14 +00:00
parent 4bae66a8de
commit d81ad1f044

View File

@@ -154,6 +154,7 @@ protected:
{ return GetColumn(GetColumnIdxFromHeader(nmHDR)); } { return GetColumn(GetColumnIdxFromHeader(nmHDR)); }
int m_scrollOffsetX; int m_scrollOffsetX;
int m_buttonHeight;
private: private:
DECLARE_DYNAMIC_CLASS(wxDataViewHeaderWindowMSW) DECLARE_DYNAMIC_CLASS(wxDataViewHeaderWindowMSW)
@@ -1203,12 +1204,13 @@ bool wxDataViewHeaderWindowMSW::Create( wxDataViewCtrl *parent, wxWindowID id,
{ {
m_owner = parent; m_owner = parent;
m_scrollOffsetX = 0;; m_scrollOffsetX = 0;
m_buttonHeight = wxRendererNative::Get().GetHeaderButtonHeight( this );
int x = pos.x == wxDefaultCoord ? 0 : pos.x, int x = pos.x == wxDefaultCoord ? 0 : pos.x,
y = pos.y == wxDefaultCoord ? 0 : pos.y, y = pos.y == wxDefaultCoord ? 0 : pos.y,
w = size.x == wxDefaultCoord ? 1 : size.x, w = size.x == wxDefaultCoord ? 1 : size.x,
h = size.y == wxDefaultCoord ? 22 : size.y; h = size.y == wxDefaultCoord ? m_buttonHeight : size.y;
if ( !CreateControl(parent, id, pos, size, 0, wxDefaultValidator, name) ) if ( !CreateControl(parent, id, pos, size, 0, wxDefaultValidator, name) )
return false; return false;
@@ -1253,7 +1255,7 @@ wxDataViewHeaderWindowMSW::~wxDataViewHeaderWindow()
wxSize wxDataViewHeaderWindowMSW::DoGetBestSize() const wxSize wxDataViewHeaderWindowMSW::DoGetBestSize() const
{ {
return wxSize(80, 22); return wxSize(80, m_buttonHeight );
} }
#ifndef HDF_SORTUP #ifndef HDF_SORTUP
@@ -1507,7 +1509,8 @@ void wxDataViewHeaderWindowMSW::DoSetSize(int x, int y,
int w, int h, int w, int h,
int f) int f)
{ {
wxControl::DoSetSize( x+m_scrollOffsetX, y, w-m_scrollOffsetX, h, f ); // TODO: why is there a border + 2px around it?
wxControl::DoSetSize( x+m_scrollOffsetX-2, y-2, w-m_scrollOffsetX+4, h+4, f );
} }
#else // !defined(__WXMSW__) #else // !defined(__WXMSW__)
@@ -1838,7 +1841,7 @@ END_EVENT_TABLE()
wxDataViewMainWindow::wxDataViewMainWindow( wxDataViewCtrl *parent, wxWindowID id, wxDataViewMainWindow::wxDataViewMainWindow( wxDataViewCtrl *parent, wxWindowID id,
const wxPoint &pos, const wxSize &size, const wxString &name ) : const wxPoint &pos, const wxSize &size, const wxString &name ) :
wxWindow( parent, id, pos, size, wxWANTS_CHARS, name ), wxWindow( parent, id, pos, size, wxWANTS_CHARS|wxBORDER_NONE, name ),
m_selection( wxDataViewSelectionCmp ) m_selection( wxDataViewSelectionCmp )
{ {
@@ -3644,7 +3647,7 @@ bool wxDataViewCtrl::Create(wxWindow *parent, wxWindowID id,
long style, const wxValidator& validator ) long style, const wxValidator& validator )
{ {
if (!wxControl::Create( parent, id, pos, size, if (!wxControl::Create( parent, id, pos, size,
style | wxScrolledWindowStyle|wxSUNKEN_BORDER, validator)) style | wxScrolledWindowStyle|wxBORDER_SUNKEN, validator))
return false; return false;
SetInitialSize(size); SetInitialSize(size);