X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af8fc1161cc10818b95bea8f08c2bd0995a1964d..f0f03f324281e2a2eb137f532295dc2bcaa120d3:/src/msw/checklst.cpp diff --git a/src/msw/checklst.cpp b/src/msw/checklst.cpp index 98a4e6763b..0769cb2f34 100644 --- a/src/msw/checklst.cpp +++ b/src/msw/checklst.cpp @@ -47,6 +47,7 @@ #include "wx/renderer.h" #include "wx/msw/private.h" +#include "wx/msw/dc.h" // ---------------------------------------------------------------------------- // private functions @@ -145,7 +146,7 @@ private: wxCheckListBox *m_pParent; size_t m_nIndex; - DECLARE_NO_COPY_CLASS(wxCheckListBoxItem) + wxDECLARE_NO_COPY_CLASS(wxCheckListBoxItem); }; wxCheckListBoxItem::wxCheckListBoxItem(wxCheckListBox *pParent, size_t nIndex) @@ -174,8 +175,9 @@ bool wxCheckListBoxItem::OnDrawItem(wxDC& dc, const wxRect& rc, if ( !wxOwnerDrawn::OnDrawItem(dc, rc, act, stat) ) return false; + wxMSWDCImpl *impl = (wxMSWDCImpl*) dc.GetImpl(); // now draw the check mark part - HDC hdc = GetHdcOf(dc); + HDC hdc = GetHdcOf(*impl); int nBmpWidth = ::GetSystemMetrics(SM_CXMENUCHECK), nBmpHeight = ::GetSystemMetrics(SM_CYMENUCHECK); @@ -213,6 +215,9 @@ bool wxCheckListBoxItem::OnDrawItem(wxDC& dc, const wxRect& rc, ImageList_Destroy(himl); + if (stat & wxODHasFocus) + wxRendererNative::Get().DrawFocusRect(m_pParent, dc, rc); + return true; } @@ -375,14 +380,14 @@ bool wxCheckListBox::MSWOnMeasure(WXMEASUREITEMSTRUCT *item) bool wxCheckListBox::IsChecked(unsigned int uiIndex) const { - wxCHECK_MSG( IsValid(uiIndex), false, _T("bad wxCheckListBox index") ); + wxCHECK_MSG( IsValid(uiIndex), false, wxT("bad wxCheckListBox index") ); return GetItem(uiIndex)->IsChecked(); } void wxCheckListBox::Check(unsigned int uiIndex, bool bCheck) { - wxCHECK_RET( IsValid(uiIndex), _T("bad wxCheckListBox index") ); + wxCHECK_RET( IsValid(uiIndex), wxT("bad wxCheckListBox index") ); GetItem(uiIndex)->Check(bCheck); } @@ -444,7 +449,7 @@ void wxCheckListBox::OnKeyDown(wxKeyEvent& event) wxCheckListBoxItem *item = GetItem(selections[i]); if ( !item ) { - wxFAIL_MSG( _T("no wxCheckListBoxItem?") ); + wxFAIL_MSG( wxT("no wxCheckListBoxItem?") ); continue; } @@ -460,7 +465,7 @@ void wxCheckListBox::OnKeyDown(wxKeyEvent& event) break; default: - wxFAIL_MSG( _T("what should this key do?") ); + wxFAIL_MSG( wxT("what should this key do?") ); } // we should send an event as this has been done by the user and @@ -506,20 +511,6 @@ void wxCheckListBox::OnLeftClick(wxMouseEvent& event) } } -int wxCheckListBox::DoHitTestItem(wxCoord x, wxCoord y) const -{ - int nItem = (int)::SendMessage - ( - (HWND)GetHWND(), - LB_ITEMFROMPOINT, - 0, - MAKELPARAM(x, y) - ); - - return nItem >= (int)m_noItems ? wxNOT_FOUND : nItem; -} - - wxSize wxCheckListBox::DoGetBestSize() const { wxSize best = wxListBox::DoGetBestSize(); @@ -528,4 +519,4 @@ wxSize wxCheckListBox::DoGetBestSize() const return best; } -#endif +#endif // wxUSE_CHECKLISTBOX