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或_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 工具箱基本要素</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">使用 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)返回對儲存在視窗 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; 獲取視窗; 系統函式; 視窗外觀; 定義視窗類別