SimpleListView.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // SimpleListView.h : header file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined(AFX_SIMPLELISTVIEW_H__35765ED1_5E74_4E33_A35B_C91E75201BB8__INCLUDED_)
  21. #define AFX_SIMPLELISTVIEW_H__35765ED1_5E74_4E33_A35B_C91E75201BB8__INCLUDED_
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. template<class BASE_CLASS>
  26. class CNoFlickerWnd : public BASE_CLASS
  27. {
  28. public:
  29. // This member function is called to set the background fill
  30. // color for the flicker free control.
  31. //
  32. inline void SetBackColor(
  33. // An RGB value.
  34. COLORREF crBack) {m_crBack = crBack;}
  35. // This member function is called to retrieve the background fill color
  36. // for the flicker free control. Returns an RGB value.
  37. //
  38. inline COLORREF GetBackColor() {return m_crBack;}
  39. protected:
  40. // An RGB value.
  41. COLORREF m_crBack;
  42. // This method provides a CE procedure (WindowProc) for a CWnd object.
  43. // It dispatches messages through the window message map. The return value
  44. // depends on the message.
  45. //
  46. virtual LRESULT WindowProc(
  47. // Specifies the Windows message to be processed.
  48. UINT message,
  49. // Provides additional information used in processing the message. The
  50. // parameter value depends on the message.
  51. WPARAM wParam,
  52. // Provides additional information used in processing the message. The
  53. // parameter value depends on the message.
  54. LPARAM lParam)
  55. {
  56. switch (message)
  57. {
  58. case WM_PAINT:
  59. {
  60. CPaintDC dc(this);
  61. // Get the client rect, and paint to a memory device context.  This
  62. // will help reduce screen flicker.  Pass the memory device context
  63. // to the default window procedure to do default painting.
  64. CRect r;
  65. GetClientRect(&r);
  66. CXTPBufferDC memDC(dc, r);
  67. memDC.FillSolidRect(r, GetSysColor(COLOR_WINDOW));
  68. return BASE_CLASS::DefWindowProc( WM_PAINT, (WPARAM)memDC.m_hDC, 0 );
  69. }
  70. case WM_ERASEBKGND:
  71. {
  72. return TRUE;
  73. }
  74. }
  75. return BASE_CLASS::WindowProc(message, wParam, lParam);
  76. }
  77. };
  78. /////////////////////////////////////////////////////////////////////////////
  79. // CSimpleListView view
  80. class CSimpleListView : public CNoFlickerWnd<CListView>
  81. {
  82. protected:
  83. CSimpleListView();           // protected constructor used by dynamic creation
  84. DECLARE_DYNCREATE(CSimpleListView)
  85. // Attributes
  86. public:
  87. CImageList m_imageList;
  88. // Operations
  89. public:
  90. // Overrides
  91. // ClassWizard generated virtual function overrides
  92. //{{AFX_VIRTUAL(CSimpleListView)
  93. public:
  94. virtual void OnInitialUpdate();
  95. protected:
  96. virtual void OnDraw(CDC* pDC);      // overridden to draw this view
  97. //}}AFX_VIRTUAL
  98. // Implementation
  99. protected:
  100. virtual ~CSimpleListView();
  101. #ifdef _DEBUG
  102. virtual void AssertValid() const;
  103. virtual void Dump(CDumpContext& dc) const;
  104. #endif
  105. // Generated message map functions
  106. protected:
  107. //{{AFX_MSG(CSimpleListView)
  108. // NOTE - the ClassWizard will add and remove member functions here.
  109. //}}AFX_MSG
  110. DECLARE_MESSAGE_MAP()
  111. };
  112. /////////////////////////////////////////////////////////////////////////////
  113. //{{AFX_INSERT_LOCATION}}
  114. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  115. #endif // !defined(AFX_SIMPLELISTVIEW_H__35765ED1_5E74_4E33_A35B_C91E75201BB8__INCLUDED_)