欢迎来到天天文库
浏览记录
ID:9368249
大小:62.00 KB
页数:6页
时间:2018-04-29
《按钮控件实例的功能》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、按钮控件实例的功能 首先介绍此实例实现的功能。此实例用来根据网站类型选择网站,并将选择的网站的名称显示到编辑框中。网站类型有“门户”、“论坛”和“博客”三种,为单选按钮。网站有六个:鸡啄米、新浪、天涯论坛、韩寒博客、网易和凤凰网论坛,均为复选框。 当选中某种网站类型即点了某个单选按钮时,其对应的网站的复选框就激活,其他则禁用,不允许选择,且为非选中状态。例如,如果选中了“门户”单选按钮,则“新浪”、“网易”复选框激活,允许用户选择,而其他复选框则禁用。 按钮控件实例的实现 鸡啄米下面为大家详细阐述此实例的编写步骤。 1.创建一个
2、基于对话框的MFC工程,名称设为“Example23”。 2.在自动生成的主对话框IDD_EXAMPLE23_DIALOG的模板中,删除“TODO:Placedialogcontrolshere.”静态文本框,添加两个GroupBox,属性Caption分别改为“网站类型”、“网站”。 3.在GroupBox“网站类型”中加入三个RadioButton,Caption分别设为“门户”、“论坛”和“博客”,ID分别设为IDC_PORTAL_RADIO、IDC_FORUM_RADIO和IDC_BLOG_RADIO。 4.在GroupBox“网站”中加入六
3、个CheckBox,Caption分别设为“鸡啄米”、“新浪”、“天涯论坛”、“韩寒博客”、“网易”和“凤凰网论坛”,ID分别设为IDC_CHECK1、IDC_CHECK2、IDC_CHECK3、IDC_CHECK4、IDC_CHECK5和IDC_CHECK6。然后为每个复选框添加CButton类型的变量m_check1、m_check2、m_check3、m_check4、m_check5和m_check6。 5.在两个GroupBox下面,添加一个静态文本框和一个编辑框。静态文本框的Caption设为“选择的网站:”。编辑框的ID设为IDC_WEBSITE_SEL_
4、EDIT,属性ReadOnly改为True,使此编辑框为只读状态,不允许用户编辑。 6.将“OK”按钮的Caption修改为“确定”,“Cancel”按钮的Caption修改为“退出”。到此,对话框模板就修改好了,如下图: 7.为“门户”、“论坛”和“博客”三个单选按钮分别添加点击消息的消息处理函数CExample23Dlg::OnBnClickedPortalRadio()、CExample23Dlg::OnBnClickedForumRadio()和CExample23Dlg::OnBnClickedBlogRadio()。 在某个单选按钮被
5、点击之后,我们可以先将六个网站复选框都禁用且置为非选中状态,而后将选择的网站类型对应的网站复选框激活。为了代码复用,我们将置所有复选框为禁用且非选中状态的操作写到一个函数里,此函数为CExample23Dlg::InitAllCheckBoxStatus(),然后就可以在三个单选按钮的消息处理函数中调用InitAllCheckBoxStatus(),实现复选框状态的初始化。 三个消息处理函数及InitAllCheckBoxStatus()函数的实现如下:C++代码1.void CExample23Dlg::OnBnClickedPortalRadio() 2.{ 3
6、. // TODO: Add your control notification handler code here 4. // 如果选择了“门户”单选按钮,则激活复选框“新浪”和“网易”,其他复选框禁用并非选中 5. InitAllCheckBoxStatus(); 6. m_check2.EnableWindow(TRUE); 7. m_check5.EnableWindow(TRUE); 8.} 9. 1. 2.void CExample23Dlg::OnBnClickedForumRadio() 3.{ 4. /
7、/ TODO: Add your control notification handler code here 5. // 如果选择了“论坛”单选按钮,则激活复选框“天涯论坛”和“凤凰网论坛”,其他复选框禁用并非选中 6. InitAllCheckBoxStatus(); 7. m_check3.EnableWindow(TRUE); 8. m_check6.EnableWindow(TRUE); 9.} 10. 11. 12.void
此文档下载收益归作者所有