跳转到内容

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(_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 获取窗口 系统函数 窗口外观 定义窗口类别

华夏公益教科书