當wxUSE_GUI=1時,wxApp類代表應用程序本身。
除了wxAppConsole提供的特性外,它還可以跟蹤頂部窗口(SetTopWindow()),并添加了對視頻模式的支持(SetDisplayMode())
一般來說,僅面向gui的應用程序的應用程序范圍設置可以從wxApp(或wxSystemSettings或wxSystemOptions類)中訪問。
#include
由該類發出的事件
由該類發出的事件的事件宏:
EVT_QUERY_END_SESSION(函數):
處理查詢結束會話事件,提供成員函數。看到wxCloseEvent。
EVT_END_SESSION(函數):
處理結束會話事件,提供成員函數。看到wxCloseEvent。
EVT_ACTIVATE_APP(函數):
處理一個wxEVT_ACTIVATE_APP事件。看到wxActivateEvent。
EVT_HIBERNATE(函數):
處理hibernate事件。看到wxActivateEvent。
EVT_DIALUP_CONNECTED(函數):
與網絡建立連接。看到wxDialUpEvent。
EVT_DIALUP_DISCONNECTED(函數):
網絡連接中斷。看到wxDialUpEvent。
EVT_IDLE(函數):
處理wxEVT_IDLE事件。看到wxIdleEvent。
庫:wxBase
類別:應用和流程管理
wxApp::OnInit()這必須由應用程序提供,并且通常會創建應用程序的主窗口,可選調用SetTopWindow()。
你可以使用OnExit()來清理這里初始化的東西,前提是函數返回true。
請注意,如果您想使用所提供的被wxWidgets提供的命令行處理
返回true繼續處理,返回false立即退出應用程序。
wxFrame Class一個frame 是一個窗口,其大小和位置(通常)可以由用戶更改。
它通常有厚厚的邊框和一個標題欄,并且可以選擇
包含一個菜單欄,工具欄和狀態欄。一個框架可以包含任何
不是框架或對話框的窗口。
通過CreateStatusBar()和CreateToolBar()函數創建的具有狀態欄和工具欄的框架管理這些窗口,并調整GetClientSize()返回的值,以反映應用程序窗口可用的剩余大小。
如果要將框架用作輸入表單,則不應將控件創建為其子控件。相反,是wxPanel
應該被創建為框架的唯一子框架,作為父框架
的實際控制(框架將大小面板,所以它總是
填充它的客戶區域)。這樣做將確保選項卡之間
控制作品和框架背景具有預期的顏色。
此外,由于框架在默認情況下是可調整大小的,所以使用它可能會更好
wxScrolledWindow而不是wxPanel,
確保控件易于訪問,而不考慮框架
大小。但是,請考慮使用wxDialog而不是wxFrame是否會更好,在這種情況下,使用這樣的面板是不需要的,而且wxDialog還提供了其他好處,如創建專門的大小(例如,按鈕,具有其平臺正確的順序)。
wxFrame處理的事件wxEVT_SIZE:如果 frame剛好有一個子窗口,不計算狀態和工具欄,此子對象的大小被調整為整個框架客戶區。如果有兩個或兩個以上的窗口,它們應該通過手動處理wxEVT_SIZE或使用sizers;
wxEVT_MENU_HIGHLIGHT:
如果有的話,默認實現顯示幫助字符串,與狀態欄第一個窗格中的選定項相關聯。
類支持下面樣式
wxDEFAULT_FRAME_STYLE:
定義為wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN。
wxICONIZE:
顯示圖標化的幀(最小化)。僅Windows。
wxCAPTION:
把一個
畫框上的文字說明。注意,此標志是由
wxMINIMIZE_BOX, wxMAXIMIZE_BOX和wxCLOSE_BOX在大多數系統上作為
如果窗口沒有標題欄,則無法顯示相應的按鈕
所有人。也就是說,如果沒有指定wxCAPTION,這些樣式將是簡單的
忽略了。
wxMINIMIZE:
和wxICONIZE一樣。僅Windows。
wxMINIMIZE_BOX:
在框架上顯示一個最小化框。
wxMAXIMIZE:
顯示大化的幀。僅適用于Windows和GTK+。
wxMAXIMIZE_BOX:
在幀上顯示一個大化框。注意,在wxGTK下也必須使用wxRESIZE_BORDER,否則此樣式將被忽略。
wxCLOSE_BOX:
在框架上顯示一個關閉框。
wxSTAY_ON_TOP:
保持在所有其他窗口之上,請參見wxFRAME_FLOAT_ON_PARENT。
wxSYSTEM_MENU:
顯示包含各種windows命令列表的系統菜單
在窗口標題欄。不像wxMINIMIZE_BOX, wxMAXIMIZE_BOX和
wxCLOSE_BOX樣式這種樣式至少可以在沒有wxCAPTION的情況下使用
在Windows下,使系統菜單可用而不顯示它
這里是屏幕。但是,建議只一起使用
與wxCAPTION在所有平臺下的一致行為。
wxRESIZE_BORDER:
顯示窗口周圍可調整大小的邊框。
wxFRAME_TOOL_WINDOW:
創建一個帶有小標題欄的框架;該框架不會出現在Windows或GTK+下的任務欄中。
wxFRAME_NO_TASKBAR:
創建一個正常的幀,但它不顯示在任務欄中
在Windows或GTK+下(注意它將最小化到桌面窗口
在Windows下,這對用戶來說可能很奇怪,因此它可能是
最好只使用這種樣式而不使用wxMINIMIZE_BOX樣式)。在wxGTK,
只有在窗口管理器支持時才尊重該標志
_NET_WM_STATE_SKIP_TASKBAR提示。
wxFRAME_FLOAT_ON_PARENT:
幀總是在其父幀的頂部(不像wxSTAY_ON_TOP)。用這種樣式創建的幀必須有一個非null的父幀。
wxFRAME_SHAPED:
允許使用SetShape()方法改變具有這種樣式的窗口的形狀。
默認的frame樣式是普通的,可調整大小的frame。要創建一個無法由用戶調整大小的框架,您可以使用以下方法
風格組合:
wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
名稱欄目:C++GUI之wxWidgets(4)-編寫應用涉及的類和方法(1)-創新互聯
網站地址:http://vcdvsql.cn/article14/ddphge.html
成都網站建設公司_創新互聯,為您提供服務器托管、商城網站、建站公司、定制網站、網站設計、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯