DragAcceptFiles 拖放文件到多文档框架上
来源:互联网 发布:mysql 日期排序 选择 编辑:程序博客网 时间:2024/05/16 11:38
以多文档为例:
1.在应用程序类App的InitInstance()函数后面,添加以下代码:
1.在应用程序类App的InitInstance()函数后面,添加以下代码:
1m_pMainWnd->DragAcceptFiles(TRUE);
2.响应主框架类CMainFrame的WM_DROPFILES消息,添加如下代码:01
02
03
04
05
06
07
08
09
10
11
12
13
14
15void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
SetActiveWindow(); // activate us first !
UINT nFiles = ::DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
CWinApp* pApp = AfxGetApp();
ASSERT(pApp != NULL);
for (UINT iFile = 0; iFile < nFiles; iFile++)
{
TCHAR szFileName[_MAX_PATH];
::DragQueryFile(hDropInfo, iFile, szFileName, _MAX_PATH);
pApp->OpenDocumentFile(szFileName);
}
::DragFinish(hDropInfo);
}
3.要对某些后缀名进行过滤,则修改如下:02
03
04
05
06
07
08
09
10
11
12
13
14
15void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
SetActiveWindow(); // activate us first !
UINT nFiles = ::DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
CWinApp* pApp = AfxGetApp();
ASSERT(pApp != NULL);
for (UINT iFile = 0; iFile < nFiles; iFile++)
{
TCHAR szFileName[_MAX_PATH];
::DragQueryFile(hDropInfo, iFile, szFileName, _MAX_PATH);
pApp->OpenDocumentFile(szFileName);
}
::DragFinish(hDropInfo);
}
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
SetActiveWindow(); // activate us first !
UINT nFiles = ::DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
CWinApp* pApp = AfxGetApp();
ASSERT(pApp != NULL);
for (UINT iFile = 0; iFile < nFiles; iFile++)
{
TCHAR szFileName[_MAX_PATH];
::DragQueryFile(hDropInfo, iFile, szFileName, _MAX_PATH);
LPTSTR pszExtension = PathFindExtension(szFileName);
if (pszExtension != NULL && *pszExtension == _T('.'))
{
_tcslwr_s(pszExtension, _tcslen(pszExtension) + 1);
if (0 == _tcscmp(pszExtension, _T(".exe"))
|| 0 == _tcscmp(pszExtension, _T(".chm")))
{
AfxMessageBox(_T("不支持的文件类型!"));
}
else
pApp->OpenDocumentFile(szFileName);
}
}
::DragFinish(hDropInfo);
}
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
SetActiveWindow(); // activate us first !
UINT nFiles = ::DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
CWinApp* pApp = AfxGetApp();
ASSERT(pApp != NULL);
for (UINT iFile = 0; iFile < nFiles; iFile++)
{
TCHAR szFileName[_MAX_PATH];
::DragQueryFile(hDropInfo, iFile, szFileName, _MAX_PATH);
LPTSTR pszExtension = PathFindExtension(szFileName);
if (pszExtension != NULL && *pszExtension == _T('.'))
{
_tcslwr_s(pszExtension, _tcslen(pszExtension) + 1);
if (0 == _tcscmp(pszExtension, _T(".exe"))
|| 0 == _tcscmp(pszExtension, _T(".chm")))
{
AfxMessageBox(_T("不支持的文件类型!"));
}
else
pApp->OpenDocumentFile(szFileName);
}
}
::DragFinish(hDropInfo);
}
- DragAcceptFiles 拖放文件到多文档框架上
- DragAcceptFiles 拖放文件到多文档框架上
- DragAcceptFiles 拖放文件到多文档框架上
- VB2005文件拖放到控件上
- 文件拖放到CEdit
- 拖放文件到窗口实现播放媒体文件
- 用MFC实现文件拖放到ListBox
- HTML5之拖放功能(多文件上传和元素拖放)
- 文件拖放
- 将OutLook邮件项拖放到C# Form上
- 使用拖放打开文档
- 再谈用MFC实现文件拖放到编辑框
- 拖放文件到系统区,shell的 调用过程
- HOW TO:从资源管理器中拖放文件到控件
- 用MFC实现文件拖放到编辑框
- 用MFC实现文件拖放到编辑框
- 再谈用MFC实现文件拖放到编辑框
- 再谈用MFC实现文件拖放到编辑框
- Flash动画学习指引六:操作动作补间
- 积木城堡(Castle)(01背包)
- printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换
- 让虚拟机实现开机自动后台运行
- Flash动画学习指南七:运动路径
- DragAcceptFiles 拖放文件到多文档框架上
- Linux 下Ruby/Tk安装配置
- poj 1823 Hotel 线段树,注意懒惰标记,不标记就会超时滴
- JavaBean为什么实现Serializable(序列化)接口
- ipc通道入侵相关命令
- flash动画学习指南八:动画编辑器
- 四种加密算法之SHA1源代码-C++
- excel 常用属性
- maven surefire plugin介绍