extracted check for wxListCtrl in WM_PRINT handler to wxListCtrl itself, base class shouldn't have to worry about its derived classes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-02-19 19:24:46 +00:00
parent 2fbef27947
commit 4bd6ae0fad
3 changed files with 22 additions and 8 deletions

View File

@@ -375,6 +375,11 @@ protected:
// convert our styles to Windows // convert our styles to Windows
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
// special Windows message handling
virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
WXWPARAM wParam,
WXLPARAM lParam);
wxTextCtrl* m_textCtrl; // The control used for editing a label wxTextCtrl* m_textCtrl; // The control used for editing a label
wxImageList * m_imageListNormal; // The image list for normal icons wxImageList * m_imageListNormal; // The image list for normal icons

View File

@@ -2385,6 +2385,21 @@ void wxListCtrl::OnPaint(wxPaintEvent& event)
} }
} }
WXLRESULT
wxListCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
{
#ifdef WM_PRINT
if ( nMsg == WM_PRINT )
{
// we should bypass our own WM_PRINT handling as we don't handle
// PRF_CHILDREN flag, so leave it to the native control itself
return MSWDefWindowProc(nMsg, wParam, lParam);
}
#endif // WM_PRINT
return wxControl::MSWWindowProc(nMsg, wParam, lParam);
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// virtual list controls // virtual list controls
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -2311,15 +2311,9 @@ WXLRESULT wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
break; break;
} }
#ifndef __WXWINCE__ #ifdef WM_PRINT
case WM_PRINT: case WM_PRINT:
{ {
#if wxUSE_LISTCTRL
// Don't call the wx handlers in this case
if ( wxIsKindOf(this, wxListCtrl) )
break;
#endif
if ( lParam & PRF_ERASEBKGND ) if ( lParam & PRF_ERASEBKGND )
HandleEraseBkgnd((WXHDC)(HDC)wParam); HandleEraseBkgnd((WXHDC)(HDC)wParam);
@@ -2327,7 +2321,7 @@ WXLRESULT wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
processed = HandlePaint(); processed = HandlePaint();
} }
break; break;
#endif #endif // WM_PRINT
case WM_CLOSE: case WM_CLOSE:
#ifdef __WXUNIVERSAL__ #ifdef __WXUNIVERSAL__