如何在对话框中实现文件拖放功能打开,如何在对话框中实现文件拖放功能的操作
如何在对话框中实现文件拖放功能
在对话框上添加一个画面控制,然后把接受文件属性修改成没错。如果是想托图片的话需要把类型改成位图。在头文件里加入:afx _ msg void OnDropFiles(HDROP hDropInfo);在卡片打印处理机(卡片打印处理器的缩写)文件里加入:ON_WM_DROPFILES()在OnInitDialog()的最后加入:DragAcceptFiles(TRUE);在卡片打印处理机(卡片打印处理器的缩写)文件里添加:void CTestDragDlg:OnDropFiles(HDROP hDropInfo){
int nFileCount=DragQueryFile(hDropInfo,-1,NULL,0);
TCHAR * strFilePath;
int dwSize
if (nFileCount==1)
{
dwSize=DragQueryFile(hDropInfo,0,NULL,0);
strFilePath=新TCHAR[dw尺寸1];
if (strFilePath)
{
DragQueryFile(hDropInfo,0,strFilePath,dwSize 1);
//检索由成功的拖放操作产生的拖放文件的名称。
//做某事证明成功
删除[]strfile路径;
}
}
CDialog:OnDropFiles(hDropInfo);
拖动完成(hDropInfo);
invalidate();
}
到此为止已经结束。为了证明拖拽文件好的可以做一个小测试。
在对话框中加入一个编辑框,
然后在头文件中加入:CString m _ StrPath
在卡片打印处理机(卡片打印处理器的缩写)文件的数据交换(CDataExchange* pDX)函数中加入
DDX_Text(pDX,IDC_EDIT0,m _ StrPath);
在拖拽文件后添加:
m_StrPath .格式( %s ,strfile路径);
更新数据(假);
然后测试就会发现只要拖拽一个文件就会在编辑框里出现此文件的全路径。
来自:http://博客。新浪。com。cn/s/blog _ 6a 6 D5 ba 80100 lcay超文本标记语言