VC编程:DragAcceptFiles 拖放文件到多文档框架上
小标 2018-07-13 来源 : 阅读 1310 评论 0

摘要:本文主要向大家介绍了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频道!

 


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程