控件:Windows图形用户界面的主要组成部分之一,用户通过操作控件对象完成交互式操作,执行特定的命令
在界面中增加控件---->为控件添加消息映射---->应用程序中使用控件
自定义控件类
在界面中增加控件可以看成定义变量
首先 使用CButton,CComboBox,CEdit之类的类定义一个实例对象,紧接着调用Create()创建相应控件
然后 使用ShowWindow()显示控件,MoveWindow()等等窗口管理函数显示隐藏控件
首先 点击资源视图,添加新的对话框
然后 从控件工具栏中选择控件,然后再对话框设计工作区中拖出一个矩形
最后 在属性栏中定义控件的ID以及相关显示风格
应用程序运行的过程中,我们看到如果我们对控件进行操作将引发不同的事件发生。为了完成这个效果,我们需要添加控件的消息响应,就可以让控件完成一定的功能。
为控件添加消息映射主要有三点:
1,在对话框相应的头文件中声明处理事件的函数
2,在控件处理的类成员定义文件中,找到消息映射部分
3,在类的成员函数定义中,定义某事件发生时,执行代码的成员函数体
例如:afx_msg void OnBnClickedButton1()这是单击响应
(消息映射以BEGIN_MESSAGE_MAP开头,END_MESSAGE_MAP结尾)
每行都指定了消息的类型,发生消息的控件的ID和处理消息的成员函数比如:
ON_BN_CLICKED(IDC_BUTTON1,&Cch09_1_2Dlg::OnBnClickedButton1());
在应用程序中使用控件,即获取控件的属性或值
比如GetDlgItem可以获取控件地址
按钮:响应鼠标单击或者键盘回车消息的窗口,按钮的作用是对鼠标点击操作作出相应的响应,在按钮中既可以显示文字也可以显示位图
普通按钮,圆按钮,复选框(CHECKBOX),组框(GROUPBOX)以及自绘按钮
CheckDlgButton(int nIDButton,UINT nCheck);用来设置按钮的选择状态
CheckRadioButton用来选择组中的一个单选按钮
GetCheckedRadioButton用来获得一组按钮中被选中按钮的ID
IsDlgButtonChecked用来检查按钮的选择状态
GetWindowText,GetWindowTextLength和SetWindowText显示或者查询正文
例子:
创建按钮控件系列:当单击第一个按钮的时候,按钮上的文字进行改变,第二个也是,此外还有复选按钮,单选按钮以及组框等等
写程序回顾:
可视化编程三个步骤为 在界面中增加控件---->为控件添加消息映射---->应用程序中使用控件
那么第一步就是拉出相应的控件进行排布,并且与此同时设置好相应按钮的ID:IDC_BUTTON1,IDC_BUTTON2等等
第二步因为要执行响应,所以应当为有响应的添加成员变量
第三步就是为相应的定义了成员变量的按钮添加消息响应函数
按步骤操作如下
radio和check类型的按钮,他们有个auto风格,auto风格选中以后按钮就会自动响应
如果是没有选中,你就会发现你在不添加处理程序的情况下是按不动的,所以这就是告诉你,你应该添加消息处理程序了
group顾名思义就是组,一个group就要带一帮没有group标识的按钮控件做小弟,每个group只有一个boss所以就只能显示一个了。比如说下面这个就是三个圆按钮控件只有一个group
下面这个是两个group,就会出现两个group相互不待见也就是多少个group可以同时显示多少个圆按钮选中
Tab order相信使用tab键盘操作填写什么验证码信息的同学来说很熟悉了,这个顺序可以调整,打开格式-->Tab键顺序然后就可以调了
添加消息处理程序
想要进行响应首先要有变量才能响应
第一步右键添加变量
例如在这里添加了一个方框按钮控件的变量,点击它的操作是让上面的文字编程你已经按下了按钮
第二步右击想要添加处理程序的控件
在这里就选单击响应
void C按钮控件学习20160623Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
m_btn1.SetWindowTextW(L"你已经按下了按钮");
}