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 值描述 _kAlertWindowClass
1我现在需要您的注意。 _kMovableAlertWindowClass
2我现在需要您的注意,但我足够好心地让您切换出此应用程序以进行其他操作 _kModalWindowClass
3系统模态,不可拖动 _kMovableModalWindowClass
4应用程序模态,可拖动 _kFloatingWindowClass
5浮动在所有其他应用程序窗口之上。在 OS 8.6 或更高版本中可用 _kDocumentWindowClass
6文档窗口 _kDesktopWindowClass
7桌面 _kHelpWindowClass
10帮助窗口 _kSheetWindowClass
11片状窗口 _kToolbarWindowClass
12浮动在文档之上,位于浮动窗口之下 _kPlainWindowClass
13普通 _kOverlayWindowClass
14覆盖层 _kSheetAlertWindowClass
15片状警报 _kAltPlainWindowClass
16普通警报
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