Futurebasic/语言/参考/外观窗口
外观
	
	
✔ 外观 χ 标准 χ 控制台
appearance window [#][-] id&[, [title$][, [rect][, ¬
                  [windowClass][, [windowAttributes] [, [FBAttributes]]]]]]
2002 年 2 月(第 6 版)
使用此语句执行以下操作
- 创建新屏幕窗口;
- 激活(突出显示并置于最前面)现有窗口;
- 使现有窗口可见或不可见;
- 更改现有窗口的标题或矩形。
appearance window 语句紧随其后的是旧的 window 语句,但主要用于创建窗口。您可以随意将 window 函数和 window 语句与通过 appearance window 语句创建的窗口混合使用。例如,在使用 appearance window 语句创建窗口后,您可以使用 window( _width ) 和 window( _height ) 函数确定其大小。
您可能注意到,大多数现代应用程序中的窗口都有一个与白色不同的背景。这不是通过图形命令绘制到窗口中实现的。它是通过对 _主题管理器_ 的简单调用实现的。以下行在许多程序中将很有用。
def SetWindowBackground( _kThemeActiveDialogBackgroundBrush, _zTrue )
| <img src="a/appearancewindow01.gif" alt="" height="98" width="311"> | 
| <img src="a/appearancewindow02.gif" alt="" height="98" width="312"> | 
| 带有和不带有主题背景的窗口 | 
appearance window 的参数应按以下方式指定。它们根据您是创建新窗口还是更改现有窗口而略有不同地解释。
- id- 一个正或负整数,其绝对值在 1 到 2147483647 之间。
- title$- 一个字符串表达式。
- rect- 全局屏幕坐标中的矩形。您可以使用以下两种形式之一来表示它- (x1,y1)-(x2,y2)- 两个对角相对的角点。 - @rectAddr&- 指向 8 字节结构(例如 - Rect类型)的 long 整型表达式或- pointer变量
- windowClass- 一个无符号长整数,指定 Macintosh 窗口类。它与 FB 的标准运行时用户定义类不同。它更接近于窗口将驻留的层。要创建- windowClass变量,请使用以下语法- dim wc as WindowClass - windowClass表格介绍了一些对那些不熟悉 OS X 的人来说可能不熟悉的术语。- <img src="a/appearancewindow03.gif" alt="" height="67" width="237"> - 带工具栏的窗口 - 一个片状窗口附加到一个父窗口。它从父窗口的标题栏向下延伸,用于强制做出与父窗口相关的决定。 - <img src="a/appearancewindow04.gif" alt="" height="159" width="197"> 片状窗口- windowClass 值- 描述 - _kAlertWindowClass1- 我现在需要您的注意。 - _kMovableAlertWindowClass2- 我现在需要您的注意,但我足够好心地让您切换出此应用程序以进行其他操作 - _kModalWindowClass3- 系统模态,不可拖动 - _kMovableModalWindowClass4- 应用程序模态,可拖动 - _kFloatingWindowClass5- 浮动在所有其他应用程序窗口之上。在 OS 8.6 或更高版本中可用 - _kDocumentWindowClass6- 文档窗口 - _kDesktopWindowClass7- 桌面 - _kHelpWindowClass10- 帮助窗口 - _kSheetWindowClass11- 片状窗口 - _kToolbarWindowClass12- 浮动在文档之上,位于浮动窗口之下 - _kPlainWindowClass13- 普通 - _kOverlayWindowClass14- 覆盖层 - _kSheetAlertWindowClass15- 片状警报 - _kAltPlainWindowClass16- 普通警报 
 
- FBAttributes- 此长整数设置运行时使用的处理程序。标准 BASIC 运行时中使用的一些功能不会为外观运行时延续。例如,- _noAutoClip不使用,因为外观中不存在- autoclip这种东西。
 - 常量 - 值 - FB 属性 - _updateVisRgn- 2048 - 此属性会影响当 FutureBASIC 使用 - _wndRefresh事件调用您的对话框事件处理例程时窗口的剪切区域将如何设置。如果您指定此属性,剪切区域将仅设置为包含实际需要刷新的窗口部分(剪切区域将在例程退出时重置为其先前值)。如果您省略此属性,剪切区域将设置为包含整个窗口(可能排除控件、编辑字段等)。- _clickThru- 4096 - 此属性会影响您的程序响应 - _wndClick事件激活窗口时发生的事情。如果设置了- _clickThru属性,则激活点击将“传递”到窗口;这可能会导致其他事件(例如- _btnClick或- _efClick)生成,具体取决于点击的内容。如果您省略此属性,则需要两次单独的点击才能激活窗口并与其中内容进行交互。- _noAutoFocus- 32768 - 使用此属性来防止 Tab 键在编辑字段中前进键盘焦点 - _keepInactive- 65536 - 此属性确保窗口永远不会被激活。窗口中的控件将无法正常工作。如果您在程序控制下将窗口置于最前面( - WINDOW语句),它将正常运行。这种类型的窗口旨在用作背景。
- 指定一个 id值,使得abs( id )不同于任何现有窗口的 ID 号。将创建一个新窗口,并为其分配一个ABS(id)的 ID 号。您可以在以后使用窗口的 ID 号来识别其他 FB 语句和函数中的窗口。如果id为负数,则窗口将不可见地创建;如果您将要创建包含控件、编辑字段和图形的窗口,但这些控件、编辑字段和图形可能需要很长时间才能构建,则有时不可见地创建窗口会很有用。您可以再次使用window语句使不可见的窗口可见(见下文)。当您创建一个新窗口时,它将成为当前输出窗口。如果您将其可见地创建(并且您没有指定_keepInBack属性),它也将成为当前活动窗口。
- title$将一个字符串分配给窗口的标题栏(如果窗口有标题栏)。如果您省略此参数,则将创建没有标题的窗口。
- rect指定窗口内容矩形的初始大小和位置。请注意,- rect不包括窗口的框架。如果您在- rect中指定 (0,0) 的左上角坐标,则此参数将以特殊方式解释;在这种情况下,窗口将居中于屏幕,其宽度和高度由- rect的右坐标和下坐标确定。请注意,这种特殊解释仅适用于创建新窗口时。如果您省略此参数,将创建一个“默认”大小和位置的窗口。
- windowClass指定窗口将驻留的层。
- windowAttributes指定窗口将包含的窗口小部件类型(关闭框、增长框)。
- FBAttributes指定运行时处理参数,这些参数决定窗口的行为方式。
无特殊注释。
 def TransitionRect; def WindowCategory; MinWindow; MaxWindow; SetZoom; get window; window close; window output; window function; dialog function