跳轉到內容

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 獲取視窗 系統函式 視窗外觀 定義視窗類別

華夏公益教科書