ドロップしたファイル名を得る
ウィンドウにドロップしたファイル名を得るためにはまず、ドラッグアンドドロップができるようにしないといけない。
1 DROPファイルを受け取りたいウィンドウのメッセージハンドラ OnDropFiles を作成する
2 OnCreate などに、 DragAcceptFiles(); の1行を追加する。
3 UINT uiLen=DragQueryFile(hDropInfo,i,NULL,0);
4 OnDropFiles 内で、以下のようにしてファイル名を受け取る。下はMDIの場合
void CChildFrame::OnDropFiles(HDROP hDropInfo)
{
// TODO: この位置にメッセージ
ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
//ドロップされたファイルの個数
UINT uiCount=DragQueryFile(hDropInfo,~0lu,NULL,0);
for(UINT i=0;i<uiCount;i++){ // 個数分やる
//ファイル名の長さ
UINT uiLen=DragQueryFile(hDropInfo,i,NULL,0);
CString str;
DragQueryFile(hDropInfo,i,str.GetBuffer(uiLen+1),uiLen+1);
str.ReleaseBuffer(); // str = ファイル名
// ここでファイル名を使って好きな処理をする
}
// CMDIChildWnd::OnDropFiles(hDropInfo);
}