Futurebasic/語言/參考/外觀視窗
外觀
✔ 外觀 χ 標準 χ 控制檯
appearance window [#][-] id&[, [title$][, [rect][, ¬
[windowClass][, [windowAttributes] [, [FBAttributes]]]]]]
2002 年 2 月(第 6 版)
使用此語句執行以下操作
- 建立新螢幕視窗;
- 啟用(突出顯示並置於最前面)現有視窗;
- 使現有視窗可見或不可見;
- 更改現有視窗的標題或矩形。
appearance window 語句緊隨其後的是舊的 window 語句,但主要用於建立視窗。您可以隨意將 window 函式和 window 語句與透過 appearance window 語句建立的視窗混合使用。例如,在使用 appearance window 語句建立視窗後,您可以使用 window( _width ) 和 window( _height ) 函式確定其大小。
您可能注意到,大多數現代應用程式中的視窗都有一個與白色不同的背景。這不是透過圖形命令繪製到視窗中實現的。它是透過對 _主題管理器_ 的簡單呼叫實現的。以下行在許多程式中將很有用。
def SetWindowBackground( _kThemeActiveDialogBackgroundBrush, _zTrue )
| <img src="a/appearancewindow01.gif" alt="" height="98" width="311"> |
| <img src="a/appearancewindow02.gif" alt="" height="98" width="312"> |
|
帶有和不帶有主題背景的視窗 |
appearance window 的引數應按以下方式指定。它們根據您是建立新視窗還是更改現有視窗而略有不同地解釋。
id- 一個正或負整數,其絕對值在 1 到 2147483647 之間。title$- 一個字串表示式。rect- 全域性螢幕座標中的矩形。您可以使用以下兩種形式之一來表示它(x1,y1)-(x2,y2)兩個對角相對的角點。 @rectAddr&指向 8 位元組結構(例如 Rect型別)的 long 整型表示式或pointer變數windowClass- 一個無符號長整數,指定 Macintosh 視窗類。它與 FB 的標準執行時使用者定義類不同。它更接近於視窗將駐留的層。要建立windowClass變數,請使用以下語法dim wc as WindowClass
windowClass表格介紹了一些對那些不熟悉 OS X 的人來說可能不熟悉的術語。<img src="a/appearancewindow03.gif" alt="" height="67" width="237"> 帶工具欄的視窗
一個片狀視窗附加到一個父視窗。它從父視窗的標題欄向下延伸,用於強制做出與父視窗相關的決定。
<img src="a/appearancewindow04.gif" alt="" height="159" width="197"> 片狀視窗windowClass 值描述 _kAlertWindowClass1我現在需要您的注意。 _kMovableAlertWindowClass2我現在需要您的注意,但我足夠好心地讓您切換出此應用程式以進行其他操作 _kModalWindowClass3系統模態,不可拖動 _kMovableModalWindowClass4應用程式模態,可拖動 _kFloatingWindowClass5浮動在所有其他應用程式視窗之上。在 OS 8.6 或更高版本中可用 _kDocumentWindowClass6文件視窗 _kDesktopWindowClass7桌面 _kHelpWindowClass10幫助視窗 _kSheetWindowClass11片狀視窗 _kToolbarWindowClass12浮動在文件之上,位於浮動視窗之下 _kPlainWindowClass13普通 _kOverlayWindowClass14覆蓋層 _kSheetAlertWindowClass15片狀警報 _kAltPlainWindowClass16普通警報
FBAttributes- 此長整數設定執行時使用的處理程式。標準 BASIC 執行時中使用的一些功能不會為外觀執行時延續。例如,_noAutoClip不使用,因為外觀中不存在autoclip這種東西。
常量 值 FB 屬性 _updateVisRgn2048 此屬性會影響當 FutureBASIC 使用 _wndRefresh事件呼叫您的對話方塊事件處理例程時視窗的剪下區域將如何設定。如果您指定此屬性,剪下區域將僅設定為包含實際需要重新整理的視窗部分(剪下區域將在例程退出時重置為其先前值)。如果您省略此屬性,剪下區域將設定為包含整個視窗(可能排除控制元件、編輯欄位等)。_clickThru4096 此屬性會影響您的程式響應 _wndClick事件啟用視窗時發生的事情。如果設定了_clickThru屬性,則啟用點選將“傳遞”到視窗;這可能會導致其他事件(例如_btnClick或_efClick)生成,具體取決於點選的內容。如果您省略此屬性,則需要兩次單獨的點選才能啟用視窗並與其中內容進行互動。_noAutoFocus32768 使用此屬性來防止 Tab 鍵在編輯欄位中前進鍵盤焦點 _keepInactive65536 此屬性確保視窗永遠不會被啟用。視窗中的控制元件將無法正常工作。如果您在程式控制下將視窗置於最前面( WINDOW語句),它將正常執行。這種型別的視窗旨在用作背景。
- 指定一個
id值,使得abs( id )不同於任何現有視窗的 ID 號。將建立一個新視窗,併為其分配一個ABS(id)的 ID 號。您可以在以後使用視窗的 ID 號來識別其他 FB 語句和函式中的視窗。如果id為負數,則視窗將不可見地建立;如果您將要建立包含控制元件、編輯欄位和圖形的視窗,但這些控制元件、編輯欄位和圖形可能需要很長時間才能構建,則有時不可見地建立視窗會很有用。您可以再次使用window語句使不可見的視窗可見(見下文)。當您建立一個新視窗時,它將成為當前輸出視窗。如果您將其可見地建立(並且您沒有指定_keepInBack屬性),它也將成為當前活動視窗。 title$將一個字串分配給視窗的標題欄(如果視窗有標題欄)。如果您省略此引數,則將建立沒有標題的視窗。rect指定視窗內容矩形的初始大小和位置。請注意,rect不包括視窗的框架。如果您在rect中指定 (0,0) 的左上角座標,則此引數將以特殊方式解釋;在這種情況下,視窗將居中於螢幕,其寬度和高度由rect的右座標和下座標確定。請注意,這種特殊解釋僅適用於建立新視窗時。如果您省略此引數,將建立一個“預設”大小和位置的視窗。windowClass指定視窗將駐留的層。windowAttributes指定視窗將包含的視窗小部件型別(關閉框、增長框)。FBAttributes指定執行時處理引數,這些引數決定視窗的行為方式。
無特殊註釋。
def TransitionRect; def WindowCategory; MinWindow; MaxWindow; SetZoom; get window; window close; window output; window function; dialog function