본문 바로가기
Develope/c++, mfc

[C++/MFC] list Control 더블 클릭 시 폴더 이동 및 선택, OnNMDblclkList

by 개발자도구 2022. 10. 14.
반응형

Header File

afx_msg void OnNMDblclkList(NMHDR *pNMHDR, LRESULT *pResult);

 

Message Map

ON_NOTIFY(NM_DBLCLK, IDC_LIST1, &CMainDlg::OnNMDblclkList)

 

Cpp File

void CMainDlg::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
	// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
	NM_LISTVIEW * pNMListView = (NM_LISTVIEW*)pNMHDR;

	CString strPath = mListCtrl.GetItemText(pNMListView->iItem, 0);

	if (strPath.GetLength() != 0)
		ShellExecute(NULL, _T("open"), _T("explorer"), _T("/select,") + strPath, NULL, SW_SHOW);

	*pResult = 0;
}
리스트 더블 클릭 시 해당 값을 읽어와 해당 경로의 폴더를 열어 주며 해당 하는 파일을 선택해준다.

OnNMDblclkList 쉽게 추가 하기

1. 리소스 뷰 - 리스트 - 속성 - 컨트롤 이벤트

 

2. NM_DBLCLK 추가

자동으로 추가된 OnNMDblclkList  를 볼 수 있다.
반응형

댓글