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