MFC ListControl Accept File Test Dlg

MFC ListControl에 Drag & Drop 이 되는 예제 소스 입니다. 


DropFileTestDlg.zip


윈도우 기본 컨트롤인 CListCtrl을 상속 받은 클래스를 생성 합니다. Drag & Drop 시 발생되는 메세지 WM_DROPFILES가 발생합니다. 이때 호출 되는 함수 OnDropFiles()를 오버라이딩 하여 사용합니다. (소스 참조)


<span style="font-size: 11pt;">UltraEdit source file - test.cpp</span>
void CMyListCtrl::OnDropFiles(HDROP hDropInfo)
{ 
  CHAR szPath[1024];
  UINT uiFileNum;
  
  uiFileNum = DragQueryFile(hDropInfo, 0xffffffff, NULL, 0);
  for ( UINT i = 0 ; i < uiFileNum ; i++ )
  {
    DragQueryFile(hDropInfo, i, (LPTSTR)szPath, 1023);
    InsertItem(i, szPath);
  }
  
  CListCtrl::OnDropFiles(hDropInfo);
}


새로 정의한 클래스를 다이얼로그에 있는  ListControl의 변수로 추가합니다.  속성에서 Accept files를 선택합다. 



  실행 결과