引用:第十一章 控件对象
那些使用户输入易于转换的用户界面元素统称为控件元素。校验框和列表框是读者熟悉的两种控件元素。在Object UNIX Class Library中,所有的控件类都从TControl中派生的。
由Tcontrol所派生的类是交互式窗口控件的典型。在您的应用程序中,您可以使用下表所列的派生类的实例。
Object UNIX Class Library提供的控件
控件
类
用途
标签(静态文本)
TLabel
用于显示静态文本
编辑框
TEdit
用于用户的文字输入区域
按钮
TButton
带文字标记的按钮
行线、竖线
TLine
用户对话框屏幕分组修饰
成组框
TGroup
用于校验框和互锁按钮的分组
列表框
TList
可翻转选择的列表,如文件列表
组合列表框
TComboBox
列表框和编辑控件的组合
校验框
TCheckBox
用于做校验判断的带文字框
互锁按钮
TRadioButton
用于做互斥选择的按钮
文本文件显示框
TView
用于显示文本文件并支持全屏浏览
多行文本编辑框
TMultiEdit
用于多行文本的编辑
滑动尺
TScroller
用于表示某动作的执行过程
数据库浏览框(Browser)
TBrowser
用于多行多列的翻转选择的列表
前面所列出的全部控件类型,Object UNIX Class Library都定义了相应的类,用户可以直接引用它,如果为了特殊需要,你可以在从某个类中派生,制作成您所需要的控件。
11.1 控件对象的使用
控件对象一般都作为对话框对象的子对象使用,它与对话框对象是并存的,控件随其父对话框生成和消失。这种机制在Object UNIX Class Library中是自动提供的。在父对话框的控件列表中的每一个子控件都是在父对话框的生成过程中产生的,当父对话框被撤消时,子控件也就消失。
在对话框中,为使用某个控件,您都需要实例化它,并在父对话框类定义中为该控件定义一个对象数据成员。
TList *List;
…
List = new TList(…);
List->;AddString(“item1”);
…
由于每个控件都有其键盘事件,所以通过重载父对话框的成员函数KevEvent来识别各自控件的事件。
…
if(strcmp(ControlList->;Control->;GetClassName(),"BUTTON")==0){
Button=(TButton *)ControlList->;Control;
switch(Button->;ButtonType) {
case EXIT_BUTTON:
//处理按下确认键,该段程序需要用户自己编写
break;
…
}
…
11.2 控件焦点与键盘
您是否曾使用键盘在对话框中将输入焦点从一个控件转换到另一个控件呢?Tab键和Shift_Tab能够完成由一个控件到另一个控件的循环切换(根据生成的次序)。另外,光标键和回车键也可以用语在控件间循环切换。为使这种“键盘处理”功能无效,您可以在您的父对话框对象的初始化函数中对控件对象的KeyEventFlag属性设置为FALSE。
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 对象 程序设计 面向 环境 控件 表示 参数 函数 显示 可以 |
注册
个人空间
