Programming/MFC

다이얼로그에 드래그앤 드랍

acidpop 2007. 4. 27. 16:49
반응형
다이얼로그의 프로퍼티 시트에서 Accept Files를 체크하시거나

혹은 OnInitDialog()에다 DragAcceptFiles(); 를 추가하세요




그리고 cpp 파일의 메세지 맵에다 ON_WM_DROPFILES() 를 추가하시고

헤더에는 afx_msg void OnDropFiles( HDROP hDropInfo );

를 추가해주시고,

다시 cpp 파일에다가

void CMyDialog::OnDropFiles( HDROP hDropInfo )
{

}

를 작성해주시면 됩니다.







그리고 아래는 OnDropFiles()의 예제인데, 퍼온 것입니다.


        int nFiles;
        char szPathName[MAX_PATH];

        // 드롭된 파일의 갯수
        nFiles=DragQueryFile(hDropInfo, 0xFFFFFFFF, szPathName, MAX_PATH);

        for(int index=0 ; index < nFiles ; n++){

                DragQueryFile(hDropInfo, index, szPathName, MAX_PATH);     // 파일의 경로 얻어옴

                MessageBox(szPathName, NULL, MB_OK);  // 파일의 경로 출력
        }

        DragFinish(hDropInfo);
반응형