vc 实现文件拖放
2009-01-15 11:46
288 查看
Step 1:
BEGIN_MESSAGE_MAP(CWISH_ENCRYPT_FOLDERDlg, CDialog)
ON_WM_DROPFILES()
END_MESSAGE_MAP()
Step 2:
class CWISH_ENCRYPT_FOLDERApp : public CWinApp
{
public:
CWISH_ENCRYPT_FOLDERApp();
// 重写
public:
virtual BOOL InitInstance();
// 实现
afx_msg void OnDropFiles(HDROP hDropInfo);
DECLARE_MESSAGE_MAP()
};
Step 3:
BOOL CWISH_ENCRYPT_FOLDERDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CWnd::DragAcceptFiles();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
}
Step 4:
//文件拖放并在编辑框显示拖放文件路径
void CWISH_ENCRYPT_FOLDERDlg::OnDropFiles(HDROP hDropInfo)
{
char *lpszFileName=new char[512], cFileCount[10];
int nFileCount, i;
nFileCount=::DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 512);
//::AfxMessageBox(itoa(nFileCount,cFileCount,10));
//for (i=0; i<nFileCount; i++)
//{
if(nFileCount == 1)
{
i = 0;
UINT nChars=::DragQueryFile(hDropInfo, i, &lpszFileName[0], 512);
CString str(&lpszFileName[0], nChars);
m_editPath.SetWindowText(str);
}
else
{
::AfxMessageBox("拖放文件的数量不能多于1个!",MB_OK,0);
}
//}
::DragFinish(hDropInfo); //释放内存
i=0;
delete []lpszFileName;
// CDialog::OnDropFiles(hDropInfo); 此语句注释掉
}
BEGIN_MESSAGE_MAP(CWISH_ENCRYPT_FOLDERDlg, CDialog)
ON_WM_DROPFILES()
END_MESSAGE_MAP()
Step 2:
class CWISH_ENCRYPT_FOLDERApp : public CWinApp
{
public:
CWISH_ENCRYPT_FOLDERApp();
// 重写
public:
virtual BOOL InitInstance();
// 实现
afx_msg void OnDropFiles(HDROP hDropInfo);
DECLARE_MESSAGE_MAP()
};
Step 3:
BOOL CWISH_ENCRYPT_FOLDERDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CWnd::DragAcceptFiles();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
}
Step 4:
//文件拖放并在编辑框显示拖放文件路径
void CWISH_ENCRYPT_FOLDERDlg::OnDropFiles(HDROP hDropInfo)
{
char *lpszFileName=new char[512], cFileCount[10];
int nFileCount, i;
nFileCount=::DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 512);
//::AfxMessageBox(itoa(nFileCount,cFileCount,10));
//for (i=0; i<nFileCount; i++)
//{
if(nFileCount == 1)
{
i = 0;
UINT nChars=::DragQueryFile(hDropInfo, i, &lpszFileName[0], 512);
CString str(&lpszFileName[0], nChars);
m_editPath.SetWindowText(str);
}
else
{
::AfxMessageBox("拖放文件的数量不能多于1个!",MB_OK,0);
}
//}
::DragFinish(hDropInfo); //释放内存
i=0;
delete []lpszFileName;
// CDialog::OnDropFiles(hDropInfo); 此语句注释掉
}
相关文章推荐
- VC实现文件拖放的方法
- VC实现文件拖放
- VC实现文件拖放
- VC下在对话框上实现接受文件拖放 (Drop files)
- VC实现文件拖放的方法 (转)
- vc++中实现文件拖放功能
- vc 实现文件拖放操作: ondropfiles
- VC下利用多线程实现文件的快速检索
- vc++实现avi文件的操作
- VC调用ShellExecute压缩文件的实现
- VC实现http上传文件
- vc++ 实现dir一个目录中所有文件功能
- VS 2008 VC 实现 --- 遍历一个文件夹下的所有文件(即查看文件名,不包含子目录)
- 一种脱离VC编程软件的方法学习C/C++编程(搭建EditPlus实现在文本编辑框中执行.c文件)
- VC实现将文件放入回收站
- [VC]使用IDropTarget接口同时支持文本和文件拖放(1)(zt)
- vc 文件拖放操作
- 使用VC的MFC实现读配置文件
- 实现文件拖放
- C#实现文件拖放并打开文件