通俗一点,就是ONCREATE只是产生VIEW的基本结构和变量, 而在OnInitialUpDate()中,对各个变量进行初始化操作
OnInitialUpdate()函数
视图窗口完全建立后第一个被框架调用的函数。框架在第一次调用On
时间上,两者先后顺序不同,构造函数生成本类的对象,但没有产生窗口,On
例子。我们要在视图中添加一个button和combobox控件则
On
int CFormView::On
{
if (CView::On
return -1;
// TODO: Add your specialized creation co
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;
}
On
void CFormView::On
{
CView::On
// TODO: Add your specialized co
//初始化组合框控件
m_combobox.AddString("Mondy");
m_combobox.AddString("Tuesday");
m_combobox.AddString("Wednesday");
m_combobox.AddString("Thursday");
m_combobox.AddString("Saturday");
m_combobox.AddString("Sunday");
}
在MFC程序设计中,按照传统的设计,如果处理WM_PAINT消息,一般会派生一个On
实际上,On
首先,读者需要明白的是,WM_PAINT消息是为了绘制屏幕而出现的,因此,在On
void MyWnd::On
{
CPaintDC dc(this);
//draw co
}
这里的CPaintDC的构造函数会自动调用BeginPaint,获得一个屏幕DC,并附加在dc对象上。当dc对象析构时,系统自动调用EndPaint并使invalidated rectangle变成validated状态,从而结束绘制。(注意,重复创建CPaintDC实例会失败也因为如此)
如果我们在On
大家在设计过程中必须注意:On