讨论:到底能否将CFindReplaceDialog作为基类?
刚才看了个贴子:
想要将CFindReplaceDialog类作为基类。
类似CFileDialog CColorDialog CFontDialog 。
因为他们都是通用对话框。
但是,我查到的结果是------好像除了CFindReplaceDialog类,其他
几个CFileDialog CColorDialog CFontDialog 是可以做基类的。
我刚才研究了一下,并没有太大进展,所以发个贴子,
大家讨论一下。
我刚才想用的方法是:
现以CDialog为基类,建立这个CMyFindDlg的新类。
然后将里面的CDialog的地方换成CFindReplaceDialog。
并作了很多其它修改:
如----
DECLARE_DYNAMIC(CMyFindDlg) //新加的,
// Construction
public: //CMyFindDlg的构造,参照CFindReplaceDialog的Create参数。
CMyFindDlg( BOOL bFindDialogOnly,
LPCTSTR lpszFindWhat,
LPCTSTR lpszReplaceWith = NULL,
DWORD dwFlags = FR_DOWN,
CWnd* pParentWnd = NULL );
并将void CMyFindDlg::DoDataExchange(CDataExchange* pDX)删除。
最终做到和声明一个以CFileDialog通用对话框为基类的CMyFileDlg一样的格式。
运行后看看这个CMyFindDlg定义的是否有问题。
编译通过。
--------------------
下面就是要看能不能用CMyFindDlg定义对象了。
接下来,在void CMainFrame::OnFind()
{
// TODO: Add your command handler code here
CMyFindDlg dlg;
}想参生一个CMyFindDlg 的对象,可是失败了
提示:: error C2512: 'CMyFindDlg' : no appropriate default constructor available
看来还是我的CMyFindDlg 类不成功。
大家有什么好办法???