没有合适的资源?快使用搜索试试~ 我知道了~
很好的资料建树的很详细,分享给大家学习
资源推荐
资源详情
资源评论
第六章 使用 Windows 标准控件
我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充
当与用户交互的元素。在 Visual C++中,可以使用的控件分成三类:
(1) Windows 标准控件
Windows 标准控件由 Windows 操作系统提供,在 Windows 95 中还提供了一些新增的控件。
所有这些控件对象都是可编程的,我们可以使用 Visual C++提供的对话框编辑器把它们添
加到对话框中。Microsoft 基础类库(MFC)提供了封装这些控件的类,它们列于表 6.1。
表 6.1 Windows 标准控件
控件 MFC 类 描述
动画 CAnimateCtrl 显示连续的 AVI 视频剪辑
按钮 CButton 用来产生某种行为的按钮,以及复选
框、单选钮和组框
组合框 CComboBox 编辑框和列表框的组合
编辑框 CEdit 用于键入文本
标题头 CHeaderCtrl 位于某一行文本之上的按钮,可用来控
制显示文件的宽度
热键 CHotKeyCtrl 用于通过按下某一组合键来很快的执行
某些常用的操作
图象列表 CImageList 一系列图象(典型情况下是一系列图标或
位图)的集合。图象列表本身不是一种控
件,它常常是和其它控件一起工作,为
其它控件提供所用的图象列表
列表 CListCtrl 显示文本及其图标列表的窗口
列表框 CListBox 包括一系列字符串的列表
进度 CProgressCtrl 用于在一较长操作中提示用户所完成的
进度
多 格 式 文 本 编
辑
CRichEditCtrl 提供可设置字符和段落格式的文本编辑
的窗口
滚动条 CScrollBar 为对话框提供控件形式的滚动条
滑块 CSliderCtrl 包括一个有可选标记的滑块的窗口
旋转按钮 CSpinButtonCtrl 提供一对可用于增减某个值的箭头
静态文本 CStatic 常用于为其它控件提供标签
状态条 CStatusBarCtrl 用于显示状态信息的窗口,同 MFC 类
CStatusBar 类似
续表 6.1
控件 MFC 类 描述
选项卡 CTabCtrl 在选项卡对话框或属性页中提供具有类
似笔记本中使用的分隔标签的外观的选
项卡
工具条 CToolBarCtrl 具有一系列命令生成按钮的窗口,同
MFC 类 CToolBar 类似
工具提示 CToolTipCtrl 一个小的弹出式窗口,用于提供对工具
条按钮或其它控件功能的简单描述
树 CTreeCtrl 用于显示一系列的项的继承结构
前面提到过,在 MFC 中,类 CWnd 是所有窗口类的基类,很自然的,它也是所有控件类的
基类。Windows 标准控件在以下环境下提供:
Windows 95
Windows NT 3.51 及以后版本
Win32s 1.3
注意:
Visual C++ 4.2 及以后版本不再支持 Win32s。
(2) ActiveX 控件
ActiveX 控件可用于对话框中,也可用于 HTML 文档中。这种控件过去被称为 OLE 控件。
本书将在专门的章节中来讲述关于 ActiveX 控件的知识。这里仅指出 ActiveX 控件使用了
与标准控件完全不同的接口和实现方法。
(3) 其它 MFC 控件类
除了 Windows 标准控件和自己编写的或者来自于第三方软件开发商的 ActiveX 控件以外,
MFC 还提供了另外三种控件,它们由下面的三个类进行封装:
类 CBitmapButton 用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,
分别代表按钮的四种不同状态。
类 CCheckListBox 用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决
定该项是否被选中。
类 CDragListBox 用于创建一种特殊的列表框,这种列表框允许用户移动列表项。
在本章我们仅讲述第一类控件,即 Windows 标准控件。所涉及的内容包括各个控件的使用
及相应的技巧。
第一节 使用对话框编辑器和 ClassWizard
对于大多数 Windows 标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。
图 6. 1 在 ResourceView 中选择对话框
IDD_DIALOGDEMO_DIALOG
图 6. 2 控件的 Properties 对话框
图 6. 3 对话框编辑器的 Controls 工具窗口
在下面的过程中,我们将一个编辑框控件添加到在第四章创建的基于对话框的 MFC 框架应
用程序的主对话框窗口中。
1. 首先,在 Workspace 窗口的 ResourceView 选项内双击 DialogDemo resources\Dialog 节点
下的 IDD_DIALOGDEMO_DIALOG 图标。上面的操作如图所示。
2. 用鼠 标 选 中 标 有 “ 要做 …… ” 的 静态 文本 控件 。 右 击 鼠 标 , 从 上下 文 菜 单 中 选 择
Properties,打开如图 6.2 所示的对话框,在 Caption 文本框中输入新的控件文本:“在下面
的文本框中输入一些字符”,然后将静态文本控件拖动到对话框的左上角。
3. 从 Controls 工具窗口(如图 6.3 所示,如果在你的资源编辑器中看不到该工具窗口,可以
在工具条上右击鼠标,从上下文菜单中选择 Controls)中选择编辑控件图标 ,在对话框
中绘制一个编辑框控件,如图 6.4 所示。
在该编辑框控件的 Properties 窗口的 General 选项卡中输入其 ID 为 IDC_EDIT。然后在
Styles 选项卡下将 Multiline 复选框划上勾,并消除 Auto HScroll 复选框前的勾。
4. 右击该编辑框控件,从上下文菜单中选择 ClassWizard 命令,打开 ClassWizard 对话框,
该对话框看起来如图 6.5 所示。
图 6. 4 向对话框中添加一个编辑框控件
图 6. 5 ClassWizard 对话框
单击 Member Variables 选项卡,确信在 Project 处选择了 DialogDemo,在 Class name 处选择
了 CDialogDemoDlg。现在我们为刚才添加的编辑框控件 IDC_EDIT 添加一个数据映射入口。
在 Control IDs 处选择 IDC_EDIT,单击右边的 Add Viable 按钮。打开如图 6.6 所示的对话框。
在 Member variable name 处链接变量名 m_strEdit (这里 m 表示该变量为类 CDialogDemoDlg
的一个成员变量,str 表明其类型为字符串,即类 CString),在 Category 下拉列表中选择
Value (另一种选择是 Control,两种选择的不同将在后面的内容中讲述),在 Variable type 下
拉列表中选择 CString (还有其它很多数据类型可供选择,但由于这里编辑框中的内容为一
字符串,因此 CString 是最恰当的选择)。单击 OK 关闭对话框。
图 6. 6 为控件映射添加成员变量
5. 检查一下现在的 ClassWizard 对话框(图 6.7)与图 6.5 相比有何不同。在图 6.7 所示的对话
框中下方的 Maximum characters 文本框中输入 50。由字面意思可以很容易猜出其含义,即
将编辑框 IDC_EDIT 中可能的最长字符串的大小限制为 50。单击 OK 关闭对话框。
图 6. 7 使用 ClassWizard 设置数据验证方案
6. 从 Workspace 窗口的 ClassView 中双击类 CDialogDemoDlg 的 OnInitDialog 成员函数,使
用下面的代码来代替位于语句
return TRUE;
前的// TODO 注释:
m_strEdit="您好! 请在这里输入一些字符串。";
UpdateData(FALSE);
7. 在 ClassView 中双击类 CDialogDemoApp 的 InitInstance 成员函数,使用下面的代码来找
替位于选择支
if (nResponse == IDOK)
下的//TODO 注释:
AfxMessageBox(dlg.m_strEdit);
然后将同一成员函数中的下面的代码行删掉(或注释掉):
剩余63页未读,继续阅读
资源评论
qq_22782401
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功