您的位置:首页 > 编程语言

【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"你已经按下了按钮");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息