1 #include "stdafx.h" 2 #include "CListBoxEnhanced.h" 3 #include "MusicPlayer2.h" 4 5 6 CListBoxEnhanced::CListBoxEnhanced() 7 : CListCtrlEx() 8 { 9 } 10 11 12 CListBoxEnhanced::~CListBoxEnhanced() 13 { 14 } 15 16 void CListBoxEnhanced::AddString(LPCTSTR str) 17 { 18 int cnt = GetItemCount(); 19 InsertItem(cnt, str); 20 } 21 22 void CListBoxEnhanced::PreSubclassWindow() 23 { 24 // TODO: �ڴ����ר�ô����/����û��� 25 SetExtendedStyle(GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP); 26 ModifyStyle(0, LVS_NOCOLUMNHEADER); 27 28 CRect rect; 29 GetWindowRect(rect); 30 InsertColumn(0, _T("text"), LVCFMT_LEFT, rect.Width() - theApp.DPI(20) - 1); 31 32 33 CListCtrlEx::PreSubclassWindow(); 34 } 35 BEGIN_MESSAGE_MAP(CListBoxEnhanced, CListCtrlEx) 36 ON_NOTIFY_REFLECT(NM_CLICK, &CListBoxEnhanced::OnNMClick) 37 ON_NOTIFY_REFLECT(NM_RCLICK, &CListBoxEnhanced::OnNMRClick) 38 END_MESSAGE_MAP() 39 40 41 void CListBoxEnhanced::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult) 42 { 43 LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); 44 // TODO: �ڴ���ӿؼ�֪ͨ���������� 45 CWnd* pParent{ GetParent() }; 46 if (pParent != nullptr) 47 pParent->SendMessage(WM_LISTBOX_SEL_CHANGED, (WPARAM)this, (LPARAM)pNMItemActivate->iItem); 48 49 *pResult = 0; 50 } 51 52 53 void CListBoxEnhanced::OnNMRClick(NMHDR *pNMHDR, LRESULT *pResult) 54 { 55 LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); 56 // TODO: �ڴ���ӿؼ�֪ͨ���������� 57 CWnd* pParent{ GetParent() }; 58 if (pParent != nullptr) 59 pParent->SendMessage(WM_LISTBOX_SEL_CHANGED, (WPARAM)this, (LPARAM)pNMItemActivate->iItem); 60 61 *pResult = 0; 62 } 63