MFC几个常用函数:OnCreate和OnInitialUpDate,GetActiveFrame和MDIGetActive,Invalidate、SetModifiedFlage、UpdateAll

把用常用的都整理一下,不然好乱。

一、OnCreate和OnInitialUpDate

参考:http://www.cnblogs.com/mingfei200169/articles/666567.html

ONCREATE只是产生VIEW的基本结构和变量而在OnInitialUpDate()中,主要初始化视图中控件等,对各个变量进行初始化操作。

例子。我们要在视图中添加一个button和combobox控件则

OnCreate函数中写法如下:
int CFormView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
 if (CView::OnCreate(lpCreateStruct) == -1)
  return -1;
 
 // TODO: Add your specialized creation code here
 CRect rect(20,20,100,50);
 m_ctrlButton.Create("Button1",WS_CHILD|WS_VISIBLE,rect,this,NULL);

 //创建按扭控件
 CFont *pFont=CFont::FromHandle((HFONT)::GetStockObject(ANSI_VAR_FONT));
 CRect rect1(150,20,350,100);
 m_combobox.Create(WS_CHILD|WS_VISIBLE|CBS_SIMPLE|CBS_NOINTEGRALHEIGHT|WS_VSCROLL,rect1,this,NULL);

 return 0;
}
OnInitialUpDate中写法
void CFormView::OnInitialUpdate() 
{
 CView::OnInitialUpdate();
 
 // TODO: Add your specialized code here and/or call the base class
 //初始化组合框控件
 m_combobox.AddString("Mondy");
 m_combobox.AddString("Tuesday");
 m_combobox.AddString("Wednesday");
 m_combobox.AddString("Thursday");
 m_combobox.AddString("Saturday");
 m_combobox.AddString("Sunday");

}

这里一点非常重要: OnCreate()是生成结构的,而 OnInitialUpDate是对结构进行初始化。两个一个相当于硬件一个相当于软件,功能和作用完全不同。但是是相互密切联系。

二、GetActiveFrame和MDIGetActive

参考:http://blog.csdn.net/zhuxiufenghust/article/details/7039879

The CMDIFrameWnd class provides the functionality of a Windows multiple document interface (MDI) frame window, along with members for managing the window. 
CMDIFrameWnd功能的类提供了一个Windows多文档界面(MDI)框架窗口,连同会员管理窗口。
The CMDIChildWnd class provides the functionality of a Windows multiple document interface (MDI) child window, along with members for managing the window.
CMDIChildWnd功能的类提供了一个Windows多文档界面(MDI)子窗口,连同会员管理窗口。
注意了: 一个是提供多文档界面的框架窗口,一个是多文档界面的子窗口

三、Invalidate、SetModifiedFlag、UpdateAllViews

参考:http://zhidao.baidu.com/question/50593960.html

1:Invalidate

该函数的作用是使整个窗口客户区无效,如果无效窗口要进行显示或者处理(即变成当前窗口),那么窗口的客户区无效意味着需要重绘。因此,这个机制和人是一样的,只处理需要的,有用的

2:SetModifieldFlag

设置脏点,表明内容是否已经被修改(污染),常常在判断是否保存的时候有用。

3:UpdateAllViews

当更新了Doc类的内容,一般都用这个把更新的内容可视化。



你可能感兴趣的:(MFC几个常用函数:OnCreate和OnInitialUpDate,GetActiveFrame和MDIGetActive,Invalidate、SetModifiedFlage、UpdateAll)