FlatListCtrl.cpp
上传用户:zhenhuadz
上传日期:2007-01-07
资源大小:1511k
文件大小:1k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. / FlatListCtrl.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "FlatListCtrl.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CFlatListCtrl
  12. CFlatListCtrl::CFlatListCtrl()
  13. {
  14. }
  15. CFlatListCtrl::~CFlatListCtrl()
  16. {
  17. }
  18. BEGIN_MESSAGE_MAP(CFlatListCtrl, CListCtrl)
  19. //{{AFX_MSG_MAP(CFlatListCtrl)
  20. ON_NOTIFY_REFLECT(LVN_COLUMNCLICK, OnColumnClick)
  21. //}}AFX_MSG_MAP
  22. END_MESSAGE_MAP()
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CFlatListCtrl message handlers
  25. void CFlatListCtrl::PreSubclassWindow() 
  26. {
  27. CListCtrl::PreSubclassWindow();
  28. VERIFY(m_wndFlatHeader.SubclassWindow(::GetDlgItem(m_hWnd,0)));
  29. }
  30. void CFlatListCtrl::OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult) 
  31. {
  32. NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  33. BOOL bSortAscending;
  34. // If clicked on already sorted column, reverse sort order
  35. if(pNMListView->iSubItem == m_wndFlatHeader.GetSortColumn(&bSortAscending))
  36. bSortAscending = !bSortAscending;
  37. else
  38.         bSortAscending = TRUE;
  39. m_wndFlatHeader.SetSortColumn(pNMListView->iSubItem, bSortAscending);
  40. // Do some sort of sorting...
  41. *pResult = 0;
  42. }