mfc拖放文件的实现

mfc拖放文件的实现,第1张

控件添加了一般都要关联到一个类,而且都是使用ClassWizard来自动添加控件的接口文件,添加控件改辩对应的变量就可以了。有了这个接口文件和变量,就可以 *** 作这个控件了。

你想添加拖放功能也很简单,比如你的控件对应的变量的类为:CWMPPlayer4

则在这个类的头文件中:

protected:

virtual void PreSubclassWindow()

// Generated message map functions

protected:

//{{AFX_MSG(CWMP)

afx_msg void OnDropFiles(HDROP hDropInfo)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

因为这个类是从CWnd继承下来的,所以我们可以重写虚函数和处理Windows消息。薯拦

在这个类的实核手缺现文件中:

BEGIN_MESSAGE_MAP(CWMPPlayer4, CWnd)

//{{AFX_MSG_MAP(CWMP)

ON_WM_DROPFILES()

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

void CWMPPlayer4::PreSubclassWindow()

{

// TODO: Add your specialized code here and/or call the base class

DragAcceptFiles( TRUE )

CWnd::PreSubclassWindow()

}

void CWMPPlayer4::OnDropFiles(HDROP hDropInfo)

{

// TODO: Add your message handler code here and/or call default

char szFilePath[MAX_PATH]

::DragQueryFile( hDropInfo, 0, szFilePath, MAX_PATH )

// 调用控件的接口播放拖进的文件

SetUrl( szFilePath )

CWnd::OnDropFiles(hDropInfo)

}

http://bbs.51cto.com/thread-623957-1.html

这个BBS上有介绍

但是是基于梁谨尘标准对话框

也可以生成单文档对话框类型的程序,不过VIEW类晌穗必须得派生与CFROMVIEW, 在MAINFRAM内响应DRAPFILES消息,然后在InitInstance内调用DragAcceptFiles ,

具体的还有一切API函数的调用就橡禅不细说了

CFileDialog是MFC中选择并获取文空雀件路斗慧早径的标准类,这个可以打开一个文件对话框并获取选中的文件名。

加载到程序,这个没法笼统的说,不同文件格式“加载”的方法是不一样的,但多数需要自己通过碧镇代码或组件来实现。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12349127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存