摘要:本文主要向大家介绍了VC编程的DragAcceptFiles 拖放文件到多文档框架上,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
本文主要向大家介绍了VC编程的DragAcceptFiles 拖放文件到多文档框架上,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
以多文档为例:
1.在应用程序类App的InitInstance()函数后面,添加以下代码:
m_pMainWnd->DragAcceptFiles(TRUE);
2.响应主框架类CMainFrame的WM_DROPFILES消息,添加如下代码:
void 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.要对某些后缀名进行过滤,则修改如下:
void 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);
}
以上就介绍了VC/MFC的学习,希望对VC/MFC有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言VC/MFC频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号