MFC学习笔记-界面02

来源:互联网 发布:甘肃干部网络考试答案 编辑:程序博客网 时间:2024/05/22 04:23

1,多按钮响应一个函数

//Dialog.hafx_msg void OnButtonClick(UINT nID);//afx_msg-便于类向导识别//Dialog.cppBEGIN_MESSAGE_MAPON_COMMAND_RANGE(IDD_BTN01,IDD_BTN100,OnButtonClick)END_MESSAGE_MAP()void OnButtonClick(UINT nID){    //nID即为控件的ID}

2,CPropertySheet
1),在调用CPropertySheet的Create方法前,注意m_sheet.GetPageCount() > 0,否则会报错,即属性表单的页数必须大于0才能创建显示

if (m_sheet.GetPageCount() > 0){    m_sheet.Create(this, WS_VISIBLE | WS_CHILD, 0);    m_sheet.ShowWindow(SW_SHOW);}

2),在CPropertySheet的创建之前如果需要销毁窗体,需要去除掉之前的添加的页面,否则再次添加会报错。

m_sheet.DestroyWindow();if (m_sheet.GetPageIndex(&m_testPage) >= 0)m_sheet.RemovePage(&m_testPage);//如果屏蔽这一句,直接创建,会报错。if (m_sheet.GetPageCount() > 0){    m_sheet.Create(this, WS_VISIBLE | WS_CHILD, 0);    m_sheet.ShowWindow(SW_SHOW);}

3),CPropertySheet显示会按照最大页的尺寸显示

3,获取当前时间

COleDateTime time = COleDateTime::GetCurrentTime();

4,afx_msg
afx_msg为消息标志,它向系统声明:有消息映射到函数实现体。
在afxwin.h中afx_msg的定义:

#ifndef   afx_msg  #define   afx_msg    //intentional placeholder  #endif  

只是定义了这个符号,对编译器来说,相当于什么都没有,但是对于类向导来说.这个符号才是有意义的.它是一个消息处理函数的前缀. 类向导生成的消息函数,分发函数,事件响应函数都以这个为前缀. 如果去掉了,向导将不能识别。

原创粉丝点击