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

对话框与窗口

开发平台:

Visual C++

  1. // ListViewEx.cpp : implementation of the CListViewEx class
  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. #include "stdafx.h"
  21. #include "CaptionBar.h"
  22. #include "ListViewExDoc.h"
  23. #include "ListViewEx.h"
  24. #ifdef _DEBUG
  25. #define new DEBUG_NEW
  26. #undef THIS_FILE
  27. static char THIS_FILE[] = __FILE__;
  28. #endif
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CListViewEx
  31. IMPLEMENT_DYNCREATE(CListViewEx, CXTListView)
  32. BEGIN_MESSAGE_MAP(CListViewEx, CXTListView)
  33. //{{AFX_MSG_MAP(CListViewEx)
  34. // NOTE - the ClassWizard will add and remove mapping macros here.
  35. //    DO NOT EDIT what you see in these blocks of generated code!
  36. //}}AFX_MSG_MAP
  37. // Standard printing commands
  38. ON_COMMAND(ID_FILE_PRINT, CXTListView::OnFilePrint)
  39. ON_COMMAND(ID_FILE_PRINT_DIRECT, CXTListView::OnFilePrint)
  40. ON_COMMAND(ID_FILE_PRINT_PREVIEW, CXTListView::OnFilePrintPreview)
  41. END_MESSAGE_MAP()
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CListViewEx construction/destruction
  44. CListViewEx::CListViewEx()
  45. {
  46. // TODO: add construction code here
  47. m_ImageSmall.Create(16, 16, ILC_MASK|ILC_COLOR24, 2, 1);
  48. m_ImageLarge.Create(32, 32, ILC_MASK|ILC_COLOR24, 2, 1);
  49. HICON hIcon = AfxGetApp()->LoadIcon(IDR_CAPTIOTYPE);
  50. m_ImageSmall.Add(hIcon);
  51. m_ImageLarge.Add(hIcon);
  52. }
  53. CListViewEx::~CListViewEx()
  54. {
  55. }
  56. BOOL CListViewEx::PreCreateWindow(CREATESTRUCT& cs)
  57. {
  58. if( !CXTListView::PreCreateWindow( cs ))
  59. return FALSE;
  60. // Set the style for the tree control.
  61. cs.style |= LVS_REPORT | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
  62. // TODO: Modify the Window class or styles here by modifying
  63. //  the CREATESTRUCT cs
  64. return TRUE;
  65. }
  66. /////////////////////////////////////////////////////////////////////////////
  67. // CListViewEx drawing
  68. void CListViewEx::OnDraw(CDC* )
  69. {
  70. }
  71. void CListViewEx::OnInitialUpdate()
  72. {
  73. CXTListView::OnInitialUpdate();
  74. // TODO: You may populate your ListView with items by directly accessing
  75. //  its list control through a call to GetListCtrl().
  76. // Add the parent item
  77. GetListCtrl().InsertColumn(0, _T("Column Text"), LVCFMT_LEFT, 200);
  78. GetListCtrl().SetImageList(&m_ImageSmall, LVSIL_SMALL);
  79. GetListCtrl().SetImageList(&m_ImageLarge, LVSIL_NORMAL);
  80. // Add children
  81. int i;
  82. for(i = 1; i < 5; i++ ) {
  83. GetListCtrl().InsertItem (0, _T("Child of Parent Item"));
  84. }
  85. // Get the windows handle to the header control for the
  86. // list control then subclass the control.
  87. HWND hWndHeader = GetListCtrl().GetDlgItem(0)->GetSafeHwnd();
  88. m_header.SubclassWindow(hWndHeader);
  89. }
  90. /////////////////////////////////////////////////////////////////////////////
  91. // CListViewEx printing
  92. BOOL CListViewEx::OnPreparePrinting(CPrintInfo* pInfo)
  93. {
  94. // default preparation
  95. return DoPreparePrinting(pInfo);
  96. }
  97. void CListViewEx::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  98. {
  99. // TODO: add extra initialization before printing
  100. }
  101. void CListViewEx::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  102. {
  103. // TODO: add cleanup after printing
  104. }
  105. /////////////////////////////////////////////////////////////////////////////
  106. // CListViewEx diagnostics
  107. #ifdef _DEBUG
  108. void CListViewEx::AssertValid() const
  109. {
  110. CXTListView::AssertValid();
  111. }
  112. void CListViewEx::Dump(CDumpContext& dc) const
  113. {
  114. CXTListView::Dump(dc);
  115. }
  116. CListViewExDoc* CListViewEx::GetDocument() // non-debug version is inline
  117. {
  118. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CListViewExDoc)));
  119. return (CListViewExDoc*)m_pDocument;
  120. }
  121. #endif //_DEBUG
  122. /////////////////////////////////////////////////////////////////////////////
  123. // CListViewEx message handlers
  124. void CListViewEx::OnStyleChanged(int /*nStyleType*/, LPSTYLESTRUCT /*lpStyleStruct*/)
  125. {
  126. //TODO: add code to react to the user changing the view style of your window
  127. }