跳轉到內容

Futurebasic/語言/參考/視窗函式

來自 Wikibooks,開放世界中的開放書籍
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) 返回對儲存在視窗 refcon 中的 FBwindowDescription 記錄的控制代碼。雖然此資訊可能會發生變化,但目前包含以下資料

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 引數的負數

如果輸出當前定向到除螢幕視窗以外的圖形埠(例如,印表機或螢幕外 GWorld),則除非另有說明,否則對“當前輸出視窗”的引用適用於當前埠。

另請參閱

[編輯 | 編輯原始碼]

WINDOW 語句 編輯欄位 圖片欄位 設定選擇 TEHANDLE 獲取視窗 系統函式 視窗外觀 定義視窗類別

華夏公益教科書