【MFC入门】之一 标准控件在可视化编程中的应用之按钮控件
2016-06-24 20:46
288 查看
知识点预览(复习)
1,可视化编程步骤:在界面中增加控件---->为控件添加消息映射---->应用程序中使用控件2,按钮控件
Auto风格:选中了Auto则表示点击后会自动选中,无需添加消息处理程序,如果没有选中Auto则需要自己写消息处理程序
Group老大带小弟原则:一个Group中只有一个老大
Tab设置:在格式->Tab顺序当中可以设置按Tab键的前后顺序
按钮控件写程序顺序:①拖好控件 ②为需要添加消息处理程序的控件添加变量 ③为变量添加消息处理函数
CButton类的成员函数
GetCheck()返回检查框或者单选按钮的选择状态
SetCheck()设置检查框或者单选按钮的选择状态
GetBitmap()获得SetBitmap()方法设置的位图的句柄
GetButtonStyle().....
可视化编程概述
控件:Windows图形用户界面的主要组成部分之一,用户通过操作控件对象完成交互式操作,执行特定的命令可视化编程编程大致分为下列步骤
在界面中增加控件---->为控件添加消息映射---->应用程序中使用控件自定义控件类
在界面中增加控件的方法有:
在界面中增加控件可以看成定义变量1,使用类成员函数完成控件的增加(这是采用API编程的方法)
首先 使用CButton,CComboBox,CEdit之类的类定义一个实例对象,紧接着调用Create()创建相应控件然后 使用ShowWindow()显示控件,MoveWindow()等等窗口管理函数显示隐藏控件
2,使用可视化工具在基本对话框应用程序中添加控件(即MFC方法)
首先 点击资源视图,添加新的对话框然后 从控件工具栏中选择控件,然后再对话框设计工作区中拖出一个矩形
最后 在属性栏中定义控件的ID以及相关显示风格
为控件添加消息映射:
应用程序运行的过程中,我们看到如果我们对控件进行操作将引发不同的事件发生。为了完成这个效果,我们需要添加控件的消息响应,就可以让控件完成一定的功能。为控件添加消息映射主要有三点:
1,在对话框相应的头文件中声明处理事件的函数
2,在控件处理的类成员定义文件中,找到消息映射部分
3,在类的成员函数定义中,定义某事件发生时,执行代码的成员函数体
1,在对话框相应的头文件中声明处理事件的函数
例如:afx_msg void OnBnClickedButton1()这是单击响应2,在控件处理的类成员定义文件中,找到消息映射部分
(消息映射以BEGIN_MESSAGE_MAP开头,END_MESSAGE_MAP结尾)每行都指定了消息的类型,发生消息的控件的ID和处理消息的成员函数比如:
ON_BN_CLICKED(IDC_BUTTON1,&Cch09_1_2Dlg::OnBnClickedButton1());
3,在类的成员函数定义中,定义某事件发生时,执行代码的成员函数体
4,删除
在删除某一控件的某一个消息映射项的时候,必须删除上面所述三个部分的内容(声明,消息映射,函数体),不然将导致编译错误在应用程序中使用控件
在应用程序中使用控件,即获取控件的属性或值比如GetDlgItem可以获取控件地址
按钮控件及应用
按钮:响应鼠标单击或者键盘回车消息的窗口,按钮的作用是对鼠标点击操作作出相应的响应,在按钮中既可以显示文字也可以显示位图按钮控件主要有
普通按钮,圆按钮,复选框(CHECKBOX),组框(GROUPBOX)以及自绘按钮按钮成员函数有
CheckDlgButton(int nIDButton,UINT nCheck);用来设置按钮的选择状态CheckRadioButton用来选择组中的一个单选按钮
GetCheckedRadioButton用来获得一组按钮中被选中按钮的ID
IsDlgButtonChecked用来检查按钮的选择状态
GetWindowText,GetWindowTextLength和SetWindowText显示或者查询正文
例子:
创建按钮控件系列:当单击第一个按钮的时候,按钮上的文字进行改变,第二个也是,此外还有复选按钮,单选按钮以及组框等等
写程序回顾:
可视化编程三个步骤为 在界面中增加控件---->为控件添加消息映射---->应用程序中使用控件
那么第一步就是拉出相应的控件进行排布,并且与此同时设置好相应按钮的ID:IDC_BUTTON1,IDC_BUTTON2等等
第二步因为要执行响应,所以应当为有响应的添加成员变量
第三步就是为相应的定义了成员变量的按钮添加消息响应函数
按步骤操作如下
首先排布控件如下图
然后补充一下一些零散知识点
auto风格
radio和check类型的按钮,他们有个auto风格,auto风格选中以后按钮就会自动响应如果是没有选中,你就会发现你在不添加处理程序的情况下是按不动的,所以这就是告诉你,你应该添加消息处理程序了
Group风格
group顾名思义就是组,一个group就要带一帮没有group标识的按钮控件做小弟,每个group只有一个boss所以就只能显示一个了。比如说下面这个就是三个圆按钮控件只有一个group
下面这个是两个group,就会出现两个group相互不待见也就是多少个group可以同时显示多少个圆按钮选中
Tab order
Tab order相信使用tab键盘操作填写什么验证码信息的同学来说很熟悉了,这个顺序可以调整,打开格式-->Tab键顺序然后就可以调了添加消息处理程序
想要进行响应首先要有变量才能响应
第一步右键添加变量
例如在这里添加了一个方框按钮控件的变量,点击它的操作是让上面的文字编程你已经按下了按钮
第二步右击想要添加处理程序的控件
在这里就选单击响应
void C按钮控件学习20160623Dlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 m_btn1.SetWindowTextW(L"你已经按下了按钮"); }
相关文章推荐
- 100 个最佳 Ubuntu 应用(中)
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- 24 个必备的 Linux 应用程序
- 注册表趣味应用小集
- 局域网与广域网接口标准
- 远程控制技术的应用
- flex 控件的重要属性
- 路由器访问列表的应用
- xDSL技术及其应用
- 学习Winform文本类控件(Label、Button、TextBox)
- Delphi控件ListView的属性及使用方法详解
- 基于XML的桌面应用
- web下载的ActiveX控件自动更新
- SQL Server 2008 R2 应用及多服务器管理
- WinForm实现按名称递归查找控件的方法
- web标准知识——从p开始,循序渐进
- C#中父窗口和子窗口之间控件互操作实例
- C#编写ActiveX网页截图控件
- 网页打开新窗口target=_blank不符合标准