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

来源:互联网 发布:阿里云企业邮箱桌面版 编辑:程序博客网 时间:2024/05/02 02:54
 

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

 798人阅读 评论(0) 收藏 举报

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

一、OnCreate和OnInitialUpDate

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

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

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

[cpp] view plaincopy
  1. <span style="color:#ff0000;">OnCreate函数中写法如下</span>:  
  2. int CFormView::OnCreate(LPCREATESTRUCT lpCreateStruct)   
  3. {  
  4.  if (CView::OnCreate(lpCreateStruct) == -1)  
  5.   return -1;  
  6.    
  7.  // TODO: Add your specialized creation code here  
  8.  CRect rect(20,20,100,50);  
  9.  m_ctrlButton.Create("Button1",WS_CHILD|WS_VISIBLE,rect,this,NULL);  
  10.   
  11.  //创建按扭控件  
  12.  CFont *pFont=CFont::FromHandle((HFONT)::GetStockObject(ANSI_VAR_FONT));  
  13.  CRect rect1(150,20,350,100);  
  14.  m_combobox.Create(WS_CHILD|WS_VISIBLE|CBS_SIMPLE|CBS_NOINTEGRALHEIGHT|WS_VSCROLL,rect1,this,NULL);  
  15.   
  16.  return 0;  
  17. }  
  18. <span style="color:#ff0000;">OnInitialUpDate中写法</span>  
  19. void CFormView::OnInitialUpdate()   
  20. {  
  21.  CView::OnInitialUpdate();  
  22.    
  23.  // TODO: Add your specialized code here and/or call the base class  
  24.  //初始化组合框控件  
  25.  m_combobox.AddString("Mondy");  
  26.  m_combobox.AddString("Tuesday");  
  27.  m_combobox.AddString("Wednesday");  
  28.  m_combobox.AddString("Thursday");  
  29.  m_combobox.AddString("Saturday");  
  30.  m_combobox.AddString("Sunday");  
  31.   
  32. }  

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

二、GetActiveFrame和MDIGetActive

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

[cpp] view plaincopy
  1. 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)框架窗口,连同会员管理窗口。
[cpp] view plaincopy
  1. 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类的内容,一般都用这个把更新的内容可视化。


0 0
原创粉丝点击