关闭

MFC总结(18) --- 实现拖拽效果

817人阅读 评论(0) 收藏 举报
分类:

效果图


Windows下很多工具,都实现了拖拽的功能,代码功能相对来说比较简单,一共需要两个步骤

第一步:

创建MFC工程后,将该Dlg对话框中的Accept Files属性设置为True, 添加一个Edit Control对话框,给该对话框绑定一个Edit类型的变量 m_edt。

  

   第二步:使用快捷键Ctrl +shift +x 打开类向导,添加 WM_DROPFILES 消息

       

实现代码

void C可拖拽代码程序Dlg::OnDropFiles(HDROP hDropInfo)
{
	// TODO:  在此添加消息处理程序代码和/或调用默认值

	CDialogEx::OnDropFiles(hDropInfo);

	//拖动单个文件的时候
	WCHAR wcStr[MAX_PATH];
	DragQueryFile(hDropInfo, 0, wcStr, MAX_PATH);//获得拖曳的文件的文件名  
	m_edt.SetWindowText(wcStr);


	//当需要拖动多个的时候
	/*
	int DropCount = DragQueryFile(hDropInfo, -1, NULL, 0);//取得被拖动文件的数目  
	for (int i = 0; i < DropCount; i++)
	{
		WCHAR wcStr[MAX_PATH];
		DragQueryFile(hDropInfo, i, wcStr, MAX_PATH);//获得拖曳的第i个文件的文件名  
		m_edt.SetWindowText(wcStr);
		//listbox.AddString(wcStr);
	}
	*/

	DragFinish(hDropInfo);  //拖放结束后,释放内存  
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:143965次
    • 积分:3865
    • 等级:
    • 排名:第8271名
    • 原创:252篇
    • 转载:25篇
    • 译文:0篇
    • 评论:9条
    最新评论