MFC视类和框架类学习1

VC6新建一个单文档工程,名称为test;将会生成如下的类;

MFC视类和框架类学习1_第1张图片

这里说的框架类是指CMainFrm类; 视类是指CxxxxView类;

生成的视类公共继承自CView类,

    class CTestView : public CView { ......

CView类继承自CWnd类,MFC中继承关系如下,

MFC视类和框架类学习1_第2张图片

视类是指窗口客户区部分;

在视类OnDraw()函数中添加如下代码;

void CTestView::OnDraw(CDC* pDC)
{
	CTestDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here	
	CString str1;
	this->GetWindowText(str1);
	AfxMessageBox(str1);

	this->SetWindowText("测试");
}

 运行如下;

MFC视类和框架类学习1_第3张图片 

        可以调用父类CWnd类的成员函数GetWindowText和SetWindowText,但是不会产生任何效果;窗口客户区主要用于输出内容;已经由mfc接管;

如果在主框架类的OnCreate()函数中加入四句代码,这里的框架类是指CMainFrame类,不是指的什么框架,

    CString str1;
    this->GetWindowText(str1);
    AfxMessageBox(str1);

    this->SetWindowText("测试");

运行如下,

MFC视类和框架类学习1_第4张图片 

MFC视类和框架类学习1_第5张图片 

可以获取到窗口标题文本,SetWindowText()也不会产生任何效果;已经由MFC接管;

CMainFrame类公共继承自CFrameWnd类,

        class CMainFrame : public CFrameWnd

MFC视类和框架类学习1_第6张图片

     CFrameWnd类也是CWnd类的子类;

如果加入 

    m_strTitle = " 中国XX大学 ";

这句,就会设置主框标题;m_strTile是CFrameWnd的保护成员;

MFC视类和框架类学习1_第7张图片 

 

你可能感兴趣的:(VC++,CWnd,CView,CFrameWnd)