你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 专家论坛
SCO Unix平台OUCL开发研究(八)
 

5TButton

TButton表示对话框上的按钮。TButton的构造函数接收一般的控件构造函数参数如坐标,显示颜色等参数。另外,它还接受按钮上显示的文本Caption以及按钮类型参数ButtonType。下面介绍一个通常的按钮定义方式:

TButton *Button;

Button = new TButton(EXIT_BUTTON,“退出”,4,10,

                   BLACK_CYAN,WHITE_MAGENTA)

在本例子中,TButton构造函数的第一个参数EXZIT_BUTTON表示按钮的类型;第二个参数表示显示在按钮上面的文本;第三个参数表示按钮所处的列坐标;第四个参数表示按钮所处的行坐标;第五个参数表示按钮文本显示的前景颜色BLACK_CYAN;第五个参数表示按钮背景的填充颜色WHITE_MAGENTA

这里需要说明的是,按钮类型的定义对用户有很大的区别。在Object Unix/Linux Class Library中提供了两类按钮:普通按钮和具有退出对话框能力的按钮。在系统提供的头文件define.hpp中有对按钮类型进行了定义,当然,也可以增加其定义,但不能修改。

有两类按钮类型可以退出对话框系统:EXIT_BUTTONOK_BUTTON。因此在设计对话框时,至少应该含有一个上述类型的控件。当然,按钮类型与按钮上面显示的文本并没有必然的联系,可以定义“退出”为退出对话框,也许根据业务需要,“取消”或“保存”也可以退出对话框。这种定义一般根据实际的需要和常规的情理来进行的。

对于其他的按钮,可以选用其他的按钮类型。只要保证一点,在对话框内的所有按钮类型必须唯一,也就是说,按钮类型不能重复。由于在按钮类型的常量定义中已经区别开了,所以能够保证其唯一。用户随后增加的按钮类型应该保证不能和已有的类型冲突。

不论何时,只要用户按下按钮,按钮的父对话框就会收到一个通知消息,父对话框通过事件响应函数对此作出响应。

在下面的例子中,定义一个响应按钮事件的消息响应函数:

int TUserDialog::PressEnterEvent(void)

{

 TButton *Button;

 if(strcmp(ControlList->Control->GetClassName(),"BUTTON")==0){

        Button=(TButton *)ControlList->Control;

        switch(Button->ButtonType) {

            case SAVE_BUTTON:

                //处理按下确认键,该段程序需要用户自己编写

                break;

            case EXIT_BUTTON:

               //处理按下确认键,该段程序需要用户自己编写

               break;

        }

    }

    return 1;

}

6)TList

TList的实例表示列表框上。它处理列表框的生成和表项选择,它还定义了处理表项的成员函数。

一个TList的构造函数接受常规的控件构造函数参数:坐标、位置、显示颜色等等。下面例子创建一个列表框控件对象。

TList *List

List = TList(0,“列表框”,4,5,20,5,BLACK_WHITE,BLACK_BLACK,

             YELLOW_BLUE,BLUE_BLUE)
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089