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