关于多重继承 假定:class A: public CDialog{...}Class B:public CFileDialog,public A{....}如何解决编译时的delete(etc) is ambiguous的问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://msdn.microsoft.com/library/en-us/vclib/html/_mfcnotes_tn016.asp 下面这种情况中的“基”称为“虚基类”。 基 ↙↘子1 子2 ↘↗ 孙在你的B类中使用某个成员函数时可以这样:A::MemberFunction1();CFileDialog::MemberFunction2(); 不能这样用,VC不支持多继承应该从CFileDialog派生一个类,然后在对该类话框模板里画一个区域分割控件并且该控件ID是stc32=0x045f(这个值用Spy++得到)然后别的功能控件画到该分割区域的外面之后改写构造函数 格式: 构造函数名(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL);然后改写该函数: 构造函数名(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL) :CFileDialog(bOpenFileDialog, lpszDefExt,lpszFileName, dwFlags, lpszFilter, pParentWnd) { m_ofn.Flags |= OFN_ENABLETEMPLATE; m_ofn.lpTemplateName = MAKEINTRESOURCE(对话框模板ID); m_ofn.lpstrTitle = "对话标题"; //其余一些要初始化的东西 }这样就可以加强文件对话框的功能。 如何在vc++中调用dll 帮忙详解一下 _ConnectionPtr Close后,相关的数据集自动就关了,有没有办法不关数据集? 如何获得其他程序窗口中带有焦点的控件的句柄呀,我想使用GetFocus函数获得,可是不行,请大家指导我1下。 关于DXF文件格式的显示 (高分)如何检测到本地有两块以上网卡?如何检测到一个网卡上被绑定了多个ip? 各位帮个忙,寻找一个函数 怎么得到记事本的编辑区域的句柄?? 非常急,请大家帮下一 C++中的"pure virtual function call" 在线程连接数据库出错,请大家帮忙阿~ ie的参数保存在什么文件里?
基
↙↘
子1 子2
↘↗
孙
在你的B类中使用某个成员函数时可以这样:
A::MemberFunction1();
CFileDialog::MemberFunction2();
应该从CFileDialog派生一个类,然后在对该类话框模板里画一个区域分割控件并且该控件ID是stc32=0x045f(这个值用Spy++得到)
然后别的功能控件画到该分割区域的外面
之后改写构造函数 格式:
构造函数名(BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL);
然后改写该函数:
构造函数名(BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL)
:CFileDialog(bOpenFileDialog, lpszDefExt,lpszFileName, dwFlags,
lpszFilter, pParentWnd)
{
m_ofn.Flags |= OFN_ENABLETEMPLATE;
m_ofn.lpTemplateName = MAKEINTRESOURCE(对话框模板ID);
m_ofn.lpstrTitle = "对话标题";
//其余一些要初始化的东西
}
这样就可以加强文件对话框的功能。