CAA百科全书翻译:用户界面-对话框

摘要:
这篇文章介绍了对话框的框架结构和组件
1.总览
2.对话框框架结构树
3.对话框框架类定义
容器:窗口,盒子,Bars,菜单
组件:indicators,control 触发行为,controls设置选项,controls进入选择文本或者值
菜单项目
4.参考

总览
你将要发现以下:
对话框框架类树
所有对话框框架类的定义,在任何可能的时候解释。为了有一个完全的类界面的描述,参考对话框类的目录。

对话框框架类树
下面是在对话框窗口中使用的对话框框架类,它们被分配到一个显示它们继承关系的树中。除了这些类,对话框框架还包含了你将要创建的属于你自己的带着CATInteractiveApplication 类中派生出来的对话框窗口的应用。和被用作传播在对话框窗口的用户交互给能够处理消息的命令的通知类。
在这里插入图片描述
对话框框架类的定义
对话框框架包含两种主要的类类型
1.容纳并安排组件对象的容器。这个容器可见或者不可见,并且不要让它们自己对用户交互反应,除了重新定位和重新确定大小。它们(容器)是窗口,盒子,bars和菜单。
2.填满容器的最小对象即组件。它们中的大部分对用户交互敏感:它们是controls和菜单项目。其它的一些被用作分割或者命令其它的controls:它们是indicators。
所有的这些类都派生自CATDlg抽象类中,这个类中包含了它们常用的行为和属性。它们包括:

  • 名字
    与其它的容器或者controls的关系,可视性,对用户交互的敏感程度,focus,和风格。这被描述在“创建对话框对象”一文中。
  • 外部资源
    标题的组成,the mnemonic,加速器,图标,资源对象。这些被描述在“为对话框盒子分配资源”一文中。
  • 位置和尺寸
  • 这些被描述在“安排对话框对象”一文中

容器
总体上而言,容器是被用来容纳并处理几个对话框组件的东西,以布局目的为例, 它们可以被分类成:

  • 从抽象基类CATDlgWindow中派生出来的窗口
  • 从抽象基类CATDlgBox中派生出来的盒子.它们被用作容纳几个对话框框架对象.
  • 从抽象基类CATDlgBar派生出的Bars
  • 从抽象基类CATDlgMenu派生出的Menus

窗口
窗口是包含其它容器或者组件的首要容器,它们可以被移动和重新构造大小.它们包括:

  • 文件窗口:CATDlgDocument类
    文件窗口时主要的应用窗口.它可以包含一个或者多个窗口,每一个包含一个文档的呈现,取决于这个应用是否是吧SDI(单个文件界面)或者MDI(多个文件界面),和其它的对话框窗口,例如红窗口,另外,它经常由菜单bar,toolbar和statusbar组成.
    在这里插入图片描述

  • 对话框:CATDlgDialog类
    设计对话框是为了使最终用户能够和应用进行交互.它可以包含应用文件的诸如2D或者3D视图的呈现,或者如Part1窗口所示的2D图嵌入到3D视图中.它也可以包含controls,例如宏窗口.对话框被设计成从用户那里获取数据.应用因此能够从用户那里获取数据从而继续执行.另外,一个对话框窗口可以被设置成一种modal.在这种情况下,对话框被限制在这个窗口中,当它结束时,这个窗口消失.
    在这里插入图片描述

  • 消息窗口:CATDllgNotify
    消息窗口被用作展示消息,警告和错误信息给用户.这个应用也能够使用消息窗口从用户那里得到印证以使工作能够继续进行.
    在这里插入图片描述

  • 文件窗口:CATDlgFile类
    文件窗口提供一个标准的带有筛选功能的选择盒子以供搜索文件.有三种类型的文件窗口:默认,应用和帮助.应用和帮助文件窗口由应用和帮助按钮分别组成,另外还有OK,筛选,取消按键.另外,一个文件窗口可以被设置成这种模式.一种可以将只要在展示的对话框就可以锁定在窗口中的模式.在这里插入图片描述

  • 盒子
    盒子被用作将对话框组件保持一致的聚合在一个对话框窗口,这些组件往往是控件,但是一个盒子经常包含其它盒子,例如,一个框架可以包含多个框架,和标签页一样.这些盒子的类是CATDlgBox.它们包括:
    容器:CATDlgContainer类
    容器定义了一个仅包含一个对象的可滚动区域,这个对象可以是一个包含许多你想要的对象的框架本身.如果这个容器的内容不与展示的区域相适合,水平和垂直的滚动条会被自动生成以保证内容可以被滚动.旁边的图片展示了一个包含了测量框架的容器作为一个独立的子项.这个框架包含radio按钮,框架,和其它的可以使用滚动条来看到的其它控件.
    分割器:CATDlgSplitter类
    分割器由一片被分割成两个重新构造大小的子区域构成,通过拖拽可以重新构造大小的带子,增加一个区域大小的同时减小另一个区域的大小.这个在两个子区域之间的线可以是垂直的或者水平的.在图片中展示的这两个分割线都包含一个标签和一个框架.
    标签容器:CATDlgTabContainer
    标签容器由一系列的标签页组成,CATDlgTabPage类的实例,一页被展示一次.它的最顶端有一个选择展示页的标签索引.旁边的图片是一个颜色的标签页.
    标签页:CATDlgTabPage.这个标签页是一个标签容器中可以获得的页中的一种.旁边展示的颜色页包含多种控件:上方的三个radio控件,紧接着一个标签和一个spinner,和一个在底下的check按钮.
    框架:CATDlgFrame类
    图标盒子:CATDlgIconBox类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值