X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0a84f928e9a273248a4843f6282507a39212d2d1..7f08aa6ce9c7d079b247963a3cb66193780603a3:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 26c3b4fdd8..3804bf0e6f 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -4272,7 +4272,6 @@ void wxGenericListCtrl::Init() m_mainWin = NULL; m_headerWin = NULL; - m_headerHeight = wxRendererNative::Get().GetHeaderButtonHeight(this); } wxGenericListCtrl::~wxGenericListCtrl() @@ -4299,7 +4298,11 @@ void wxGenericListCtrl::CreateOrDestroyHeaderWindowAsNeeded() ( this, wxID_ANY, m_mainWin, wxPoint(0,0), - wxSize(GetClientSize().x, m_headerHeight), + wxSize + ( + GetClientSize().x, + wxRendererNative::Get().GetHeaderButtonHeight(this) + ), wxTAB_TRAVERSAL ); @@ -4441,6 +4444,10 @@ void wxGenericListCtrl::SetSingleStyle( long style, bool add ) void wxGenericListCtrl::SetWindowStyleFlag( long flag ) { + // update the window style first so that the header is created or destroyed + // corresponding to the new style + wxWindow::SetWindowStyleFlag( flag ); + if (m_mainWin) { // m_mainWin->DeleteEverything(); wxMSW doesn't do that @@ -4449,8 +4456,6 @@ void wxGenericListCtrl::SetWindowStyleFlag( long flag ) GetSizer()->Layout(); } - - wxWindow::SetWindowStyleFlag( flag ); } bool wxGenericListCtrl::GetColumn(int col, wxListItem &item) const @@ -4587,7 +4592,7 @@ bool wxGenericListCtrl::GetSubItemRect(long item, return false; if ( m_mainWin->HasHeader() ) - rect.y += m_headerHeight + 1; + rect.y += m_headerWin->GetSize().y + 1; return true; }