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

对话框与窗口

开发平台:

Visual C++

  1. // HeroesView.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_HEROESVIEW_H__6FD5D13E_6D06_4391_A898_5B2302A5B4A7__INCLUDED_)
  21. #define AFX_HEROESVIEW_H__6FD5D13E_6D06_4391_A898_5B2302A5B4A7__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. CNoFlickerWnd()
  30. {
  31. m_bSkipEraseBkgnd = FALSE;
  32. }
  33. // This member function is called to set the background fill
  34. // color for the flicker free control.
  35. //
  36. inline void SetBackColor(
  37. // An RGB value.
  38. COLORREF crBack) {m_crBack = crBack;}
  39. // This member function is called to retrieve the background fill color
  40. // for the flicker free control. Returns an RGB value.
  41. //
  42. inline COLORREF GetBackColor() {return m_crBack;}
  43. protected:
  44. // An RGB value.
  45. COLORREF m_crBack;
  46. BOOL m_bSkipEraseBkgnd;
  47. // This method provides a CE procedure (WindowProc) for a CWnd object.
  48. // It dispatches messages through the window message map. The return value
  49. // depends on the message.
  50. //
  51. virtual LRESULT WindowProc(
  52. // Specifies the Windows message to be processed.
  53. UINT message,
  54. // Provides additional information used in processing the message. The
  55. // parameter value depends on the message.
  56. WPARAM wParam,
  57. // Provides additional information used in processing the message. The
  58. // parameter value depends on the message.
  59. LPARAM lParam)
  60. {
  61. switch (message)
  62. {
  63. case WM_PAINT:
  64. {
  65. CPaintDC dc(this);
  66. // Get the client rect, and paint to a memory device context.  This
  67. // will help reduce screen flicker.  Pass the memory device context
  68. // to the default window procedure to do default painting.
  69. CRect r;
  70. GetClientRect(&r);
  71. CXTPBufferDC memDC(dc, r);
  72. memDC.FillSolidRect(r, GetSysColor(COLOR_WINDOW));
  73. return BASE_CLASS::DefWindowProc( WM_PAINT, (WPARAM)memDC.m_hDC, 0 );
  74. }
  75. case WM_WINDOWPOSCHANGING:
  76. m_bSkipEraseBkgnd = TRUE;
  77. break;
  78. case WM_WINDOWPOSCHANGED:
  79. m_bSkipEraseBkgnd = FALSE;
  80. break;
  81. case WM_ERASEBKGND:
  82. if (m_bSkipEraseBkgnd)
  83. {
  84. return TRUE;
  85. }
  86. break;
  87. }
  88. return BASE_CLASS::WindowProc(message, wParam, lParam);
  89. }
  90. };
  91. /////////////////////////////////////////////////////////////////////////////
  92. // CHeroesView view
  93. class CHeroesView : public CXTPCommandBarsSiteBase<CWnd>
  94. {
  95. public:
  96. CHeroesView();           // protected constructor used by dynamic creation
  97. DECLARE_DYNCREATE(CHeroesView)
  98. // Attributes
  99. public:
  100. CNoFlickerWnd<CListCtrl>  m_listCtrl;
  101. CImageList m_imageList;
  102. int m_nFilter;
  103. // Operations
  104. public:
  105. void InsertItem(int nItem);
  106. // Overrides
  107. // ClassWizard generated virtual function overrides
  108. //{{AFX_VIRTUAL(CHeroesView)
  109. public:
  110. virtual void OnInitialUpdate();
  111. protected:
  112. virtual void OnDraw(CDC* pDC);      // overridden to draw this view
  113. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  114. //}}AFX_VIRTUAL
  115. // Implementation
  116. protected:
  117. virtual ~CHeroesView();
  118. #ifdef _DEBUG
  119. virtual void AssertValid() const;
  120. virtual void Dump(CDumpContext& dc) const;
  121. #endif
  122. afx_msg void OnFilterColor(UINT nID);
  123. afx_msg void OnUpdateFilterColor(CCmdUI* pCmd);
  124. // Generated message map functions
  125. protected:
  126. //{{AFX_MSG(CHeroesView)
  127. afx_msg void OnSize(UINT nType, int cx, int cy);
  128. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  129. afx_msg void OnSetFocus(CWnd* pOldWnd);
  130. //}}AFX_MSG
  131. DECLARE_MESSAGE_MAP()
  132. };
  133. /////////////////////////////////////////////////////////////////////////////
  134. //{{AFX_INSERT_LOCATION}}
  135. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  136. #endif // !defined(AFX_HEROESVIEW_H__6FD5D13E_6D06_4391_A898_5B2302A5B4A7__INCLUDED_)