我在对话框中 包含了视图类的头文件 但调试时还是回出错!
在对话框中的定义如下:
#include "DrawView.h"
class CWriteDlg:public CDialog
{
CDrawView* pView;
- - - - - - - -
};
CTextWriteDlg::TCextWriteDlg(CWnd* pParent,CString Text):CDialog(TextWriteDlg::IDD, pParent)
{
m_pView=(CDrawView *)pParent; //记录传入指针
}void CTextWriteDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
m_pView->SendMessage(WM_COMMAND,ID_TEXT_ONOK);
CDialog::OnOK();
调试出错:
g:\vc程序\复件 928draw\textwritedlg.h(23) : error C2143: syntax error : missing ';'before '*'
g:\vc程序\复件 928draw\textwritedlg.h(23) : error C2501: 'CDrawView' : missing storage-class or type specifiers
g:\vc程序\复件 928draw\textwritedlg.h(23) : error C2501: 'm_pView' : missing storage-class or type specifiers还有在视图类引用对话框类时 也出现了同样的问题
(头文件都引用了)
请问这是怎么回事啊?????
谢谢!
在对话框中的定义如下:
#include "DrawView.h"
class CWriteDlg:public CDialog
{
CDrawView* pView;
- - - - - - - -
};
CTextWriteDlg::TCextWriteDlg(CWnd* pParent,CString Text):CDialog(TextWriteDlg::IDD, pParent)
{
m_pView=(CDrawView *)pParent; //记录传入指针
}void CTextWriteDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
m_pView->SendMessage(WM_COMMAND,ID_TEXT_ONOK);
CDialog::OnOK();
调试出错:
g:\vc程序\复件 928draw\textwritedlg.h(23) : error C2143: syntax error : missing ';'before '*'
g:\vc程序\复件 928draw\textwritedlg.h(23) : error C2501: 'CDrawView' : missing storage-class or type specifiers
g:\vc程序\复件 928draw\textwritedlg.h(23) : error C2501: 'm_pView' : missing storage-class or type specifiers还有在视图类引用对话框类时 也出现了同样的问题
(头文件都引用了)
请问这是怎么回事啊?????
谢谢!
在
#include "DrawView.h"
之前加
#include "DrawDoc.h"
声明的是CWriteDlg,使用的是CTextWriteDlg……好好检查下代码
CMainFrame *pMF=(CMainFrame *)AfxGetMainWnd();
CChildFrame *pCF=(CChildFrame *)pMF->GetActiveFrame();
CxxxView *pActiveView = (CxxxView *)pCF->GetActiveView();
单文档:
#include "MainFrame.h"
#include "xxxDoc.h"
#include "xxxView.h"
CMainFrame *pMF=(CMainFrame *)AfxGetMainWnd();
CxxxView *pActiveView = (CxxxView *) pMF->GetActiveView();
把 #include "DrawView.h" 换成
声明 class CDrawView; //因为你定义的是指针