2024年4月19日发(作者:)
Windows控件
Windows操作系统内置一些界面元素.象Button,List,ComboBox,Edit,Label,Menu等.
这一些界面元素在MFC的类库里都用对应类来描述,程序通过这一些类来操作界面.
从类库结构来看,这一些类都从CWnd类继承下来.这个类也是CDialog的基类.
因此这一些控件除了自已独特界面类型以外,都一些共性.
在Windows上,一个控件要用数字来表示,通过对这个数字就可以操作控件.在M
FC里这个数字一般是在资源编辑器里定义成宏,这样在程序里更加容易阅读和理
解
所有资源编号定义在resresource.h
在.rc里使用是宏定义如,如IDC_BUTTON1
在一个CDialog里可以调用GetDlgItem来找出控件的指针,这样用于操作
CWnd* GetDlgItem( int nID )
最常见的操作就是读取控件的上文本的值
CWnd::GetWindowText(),CWnd::SetWindowText();
不同控件读取文本有不同含意,如Label的读文本相当于读标签文本,Edit读文本
相当于编辑框里的值.ComboBox,ListBox相当于读取用户当前选中的文本.
例,改变一个标签的提示
this->GetDlgItem(IDC_LABLE1)->SetWindowText(_T(“hello”));
读取一个编辑框的文本值
CString tmp = GetDlgItem(IDC_EDIT1)->GetWindowText();
这种方法实例上是Windows的方法,而不是C++面向对象的方法
控件对象的创建
在MFC中,控件对象的创建方法有两种
静态创建,对话框模板上把控件画好.这样当CDialog创建对话框时,自动把控件
创建好.
这里一种比较简单和常用的创建方法
动态创建,即在运行时动态创建.这样可以更加灵活的设计界面,但是代码相对复杂
调用BOOL CWnd::Create()或者是派生类同名方法.
注意把Create和类构造函数区别开来,类构造只是创建对象本身,通知W
indows把控件画出来是Create执行的
无论动态,静态对控件影响最大的参数是DWORD dwStyle ,用于描述界面风格.
模板中在属性窗里直接增写
Create时作为参数传入
CButton
按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,
Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要
指明按钮的风格。
CButton常用style
常见几个宏定义有
BS_CHECKBOX 检查框
BS_DEFPUSHBUTTON 默认普通按钮
BS_LEFTTEXT 左对齐文字
BS_PUSHBUTTON 普通按钮
BS_RADIOBUTTON 圆形选择按钮
在资源编辑器可以选择属性窗来调整
Buttons状态检测
获取/改变按钮状态:对于检查按钮(CheckBox)和圆形按钮(Radio Box)可能有两种状
态,选中和未选中,如果设置了BS_3STATE或BS_AUTO3STATE风格就可能出现
第三种状态:未定,这时按钮显示灰色。
通过调用int CButton::GetCheck( ) 得到当前是否被选中,返回0:未选中,1:选中,
2:未定。
调用void CButton::SetCheck( int nCheck );设置当前选中状态。
CEdit 编辑框类
Edit窗口是用来接收用户输入最常用的一个控件
Edit常用风格
– ES_AUTOHSCROLL,ES_AUTOVSCROLL 指明输入文字超出显示范围时自


发布评论