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

效果图


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);  //拖放结束后,释放内存  
}



阅读更多
上一篇常用工具使用
下一篇MFC总结(19) --- CStrig转换成十六进制数
想对作者说点什么? 我来说一句

MFC实现可拖动的按钮

2014年01月17日 70KB 下载

没有更多推荐了,返回首页

关闭
关闭