Futurebasic/语言/参考/窗口函数
WindowInformation = WINDOW(expr)
修订: 2002年2月(发布版本6)
此函数返回与窗口相关的的信息(通常是当前输出窗口)。您在expr
中指定的数值决定了返回信息的类型,如以下各段所述。
活动窗口、活动文档窗口、活动调色板窗口和输出窗口的ID
WINDOW(_activeWnd)
返回当前活动窗口的窗口ID号,如果没有任何窗口活动,则返回零。WINDOW(_activeDoc)
返回当前活动文档窗口的窗口ID号,如果没有任何文档窗口活动,则返回零。在搜索活动文档时,此函数会绕过所有调色板,以搜索类型属性设置为包含_keepInBack
的窗口。WINDOW(_activePlt)
返回最顶层的调色板的窗口ID号。为了存在调色板,必须打开一个或多个类型属性设置为包含_keepInBack
的文档窗口。此时,所有非_keepInBack
窗口将变成调色板,并浮动在文档窗口之上。WINDOW(_outputWnd)
返回当前输出窗口的窗口ID号,如果输出当前定向到除FutureBasic创建的屏幕窗口之外的地方(例如,定向到打印机),则返回零。
窗口大小
WINDOW(_width)
返回当前输出窗口内容区域的宽度(以像素为单位)。WINDOW(_height)
返回当前输出窗口内容区域的高度(以像素为单位)。(注意:内容区域不包括窗口的边框。)
窗口位置(外观管理器)
WINDOW(_kFBstructureTop)
返回从屏幕顶部到窗口结构区域顶部的距离。WINDOW(_kFBstructureLeft)
返回从屏幕左侧到窗口结构区域左侧的距离。WINDOW(_kFBstructureWidth)
返回窗口结构区域的宽度。WINDOW(_kFBstructureHeight)
返回窗口结构区域的高度。WINDOW(_kFBcontentTop)
返回从屏幕顶部到窗口内容区域顶部的距离。WINDOW(_kFBcontentLeft)
返回从屏幕左侧到窗口内容区域左侧的距离。WINDOW(_kFBcontentWidth)
返回窗口内容区域的宽度。这通常与WINDOW(_width)
相同。WINDOW(_kFBcontentHeight)
返回窗口内容区域的高度。这通常与WINDOW(_height)
相同。
笔位置
WINDOW(_penH)
返回当前输出窗口中笔的水平位置(以像素为单位)。WINDOW(_penV)
返回当前输出窗口中笔的垂直位置(以像素为单位)。
窗口记录指针
WINDOW(_wndPointer
OR_wndRef)
返回当前输出窗口的窗口记录的指针。有关窗口记录内容的信息,请参见<a href="get%20window.html">GET WINDOW</a>
语句,以及 <a href="http://developer.apple.com/documentation/mac/Toolbox/Toolbox-188.html#HEADING188-0">"窗口管理器" 章节</a> of <a href="http://developer.apple.com/documentation/macos8/mac8.html">Inside Macintosh</a>: <a href="http://developer.apple.com/documentation/mac/Toolbox/Toolbox-2.html">Macintosh Toolbox Essentials</a>,以及 <a href="http://developer.apple.com/documentation/macos8/mac8.html">Inside Macintosh</a>: <a href="http://developer.apple.com/documentation/mac/QuickDraw/QuickDraw-2.html">Imaging with QuickDraw</a> 中的 grafPort 和 CGrafPort 数据结构的描述。WINDOW(_wndPort)
返回当前用于输出的 grafport。
剪贴板内容
WINDOW(_textClip)
如果剪贴板上存在类型为“TEXT”的信息,则返回非零值;否则返回零。WINDOW(_pictClip)
如果剪贴板上存在类型为“PICT”的信息,则返回非零值;否则返回零。
窗口类(仅限标准 BASIC)
WINDOW(_outputWClass)
返回分配给当前输出窗口的“类号”。WINDOW(_activeWClass)
返回分配给当前活动窗口的“类号”。WINDOW(_outputWCategory)
返回分配给当前输出窗口的“类号”,用于外观管理器运行时。WINDOW(_activeWCategory)
返回分配给当前活动窗口的“类号”,用于外观管理器运行时。(有关类号的更多信息,请参见<a href="window%20statement.html">WINDOW</a>
语句)。
其他窗口信息(外观管理器)
WINDOW(_kFBMacWClass)
返回工具箱窗口类。返回值可能包括诸如_kDocumentWindowClass
或_kMovableModalWindowClass
之类的东西。WINDOW(_kFBMacWAttributes)
返回有关窗口的工具箱属性。值可能包括_kWindowResizableAttribute
或_kWindowCloseBoxAttribute
。WINDOW(_kFBwDescHandle)
返回一个 FBwindowDescription 记录的句柄,该记录存储在窗口的 refcon 中。虽然此信息可能会更改,但它当前包含以下数据
BEGIN RECORD FBwindowDescription DIM FBwRef<spacer type="horizontal" size="227">AS LONG<spacer type="horizontal" size="22">// 标准 FB 引用号
DIM FBwZoomRect<spacer type="horizontal" size="51">AS RECT<spacer type="horizontal" size="21">// 最佳缩小位置,
<spacer type="horizontal" size="248">// 为空时为默认值
DIM FBwAttributes<spacer type="horizontal" size="37">AS WindowAttributes
DIM FBwWindowClass AS WindowClass
DIM FBwControlList AS HANDLE // 控件的链接列表
DIM FBwEFList<spacer type="horizontal" size="65">AS HANDLE // EF 的链接列表
DIM FBwFSSpec<spacer type="horizontal" size="65">AS FSSpec // 关联的文件规范
<spacer type="horizontal" size="248">// (影响代理图标)
DIM FBwCreator<spacer type="horizontal" size="58">AS OSType // 用于代理图标
DIM FBwFileType<spacer type="horizontal" size="51">AS OSType // 用于代理图标
DIM FBidealSizeX<spacer type="horizontal" size="44">AS SHORT<spacer type="horizontal" size="15">// 缩放
DIM FBidealSizeY<spacer type="horizontal" size="44">AS SHORT<spacer type="horizontal" size="15">// 缩放
DIM FBwClipRgn<spacer type="horizontal" size="58">AS RgnHandle
DIM FBwVScrollH<spacer type="horizontal" size="51">AS HANDLE // 0 如果没有垂直滚动条
DIM FBwHScrollH<spacer type="horizontal" size="51">AS HANDLE // 0 如果没有水平滚动条
DIM FBwCategory<spacer type="horizontal" size="51">AS LONG
DIM FBwClickThru<spacer type="horizontal" size="44">AS BOOLEAN
DIM FBwUpdateVisRgn<spacer type="horizontal" size="22">AS BOOLEAN
DIM FBwKeepInactive<spacer type="horizontal" size="22">AS BOOLEAN // 用于背景窗口
DIM FBwNoAutoFocus AS BOOLEAN // 影响 Tab 键
<spacer type="horizontal" size="255">// 与 EF 和
<spacer type="horizontal" size="255">// 文本按钮的处理
DIM &
END RECORD
WINDOW(_kFBwClickThru)
如果此属性位被设置,则返回非零值。WINDOW(_kFBFloatingWndPtr)
返回最顶层浮动窗口的窗口指针。
屏幕边框在本地坐标系中的位置
WINDOW(_toLeft)
返回屏幕左侧边缘的水平像素位置,以当前输出窗口的本地坐标系表示(注意,如果窗口完全位于屏幕上,则该值将为负数)。WINDOW(_toTop)
返回屏幕顶部的垂直像素位置,以当前输出窗口的本地坐标系表示(注意,如果窗口完全位于屏幕上,则该值将为负数)。WINDOW(_toRight)
返回屏幕右侧边缘的水平像素位置,以当前输出窗口的本地坐标系表示。WINDOW(_toBottom)
返回屏幕底部垂直像素位置,以当前输出窗口的局部坐标系表示。
(请注意,如果当前输出目标不是屏幕窗口,则这些数字毫无意义。)
检查窗口是否存在 如果在 expr
中指定负值,WINDOW(expr)
如果存在 ID 号为 ABS(expr)
的窗口,则返回非零值;否则返回零。返回值不依赖于窗口当前是否可见,仅依赖于窗口是否已创建(使用 WINDOW
语句)且尚未关闭(使用 WINDOW CLOSE
语句)。
编辑字段和图片字段信息
WINDOW(_efNum)
返回当前活动编辑字段或图片字段的 ID 号;如果当前没有活动编辑字段或图片字段,则返回零。WINDOW(_selStart)
返回当前活动编辑字段(如果有)中选定文本或插入点的起始字符位置。WINDOW(_selEnd)
返回当前活动编辑字段(如果有)中选定文本或插入点的结束字符位置。WINDOW(_efHandle)
返回当前活动编辑字段(如果有)的 TextEdit 记录句柄;这与TEHANDLE(WINDOW(_efNum))
返回的值相同。WINDOW(_lastEfNum)
返回先前活动编辑字段的 ID 号(如果之前没有其他编辑字段处于活动状态,则返回零)。WINDOW(_efTextLen)
返回当前活动编辑字段(如果有)中的字符数。WINDOW(_teBlock)
返回当前活动编辑字段或图片字段(如果有)的编辑字段描述符句柄。WINDOW(_efClass)
返回分配给当前活动编辑字段(如果有)的efClass
参数;或者返回分配给当前活动图片字段(如果有)的just
参数的负数。
注意
[edit | edit source]如果当前输出目标是除屏幕窗口之外的图形端口(例如打印机或屏幕外 GWorld),则除非另有说明,否则对“当前输出窗口”的引用将应用于当前端口。
另请参见
[edit | edit source] WINDOW 语句; 编辑字段; 图片字段; 设置选择; TEHANDLE; 获取窗口; 系统函数; 窗口外观; 定义窗口类别