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