你想添加拖放功能也很简单,比如你的控件对应的变量的类为: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中选择并获取文空雀件路斗慧早径的标准类,这个可以打开一个文件对话框并获取选中的文件名。加载到程序,这个没法笼统的说,不同文件格式“加载”的方法是不一样的,但多数需要自己通过碧镇代码或组件来实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)