原文請參考:?http://www.cppblog.com/zyzx/archive/2009/03/12/76348.html
// * create by zyzx
// * 2009-3-12
// * 轉載自:http://www.cppblog.com/zyzx
?
????????? 工欲善其事,必先利其器。在MFC上開發,有VS系列強大的可視化工具,基于wx的開發工具雖然沒有VS、QT的界面設計器強大,但在靈活度上VS的界面設計器是沒法比的(QT的沒有用過,不做評論)。
???????? 如果選擇了wx庫,了解幾款基于其上的界面設計工具,會大大提高開發效率。
一、wx界面設計工具簡介
???????? 官方建議的工具集合:http://wiki.wxwidgets.org/Tools
?????????在剛開始的時候,我也嘗試過幾款工具(wxFormBuilder、wxDev-C++、wxDesigner等),但后來還是選擇了DialogBlocks-4.18。對于這些工具的選擇,各有特色。選擇DialogBlocks,主要是因為其靈活度很大,當然缺點就是需要手工寫代碼來結合工具使用。但這點對于熟悉wx以后就不再是缺點,而是她最大的優點。
二、DialogBlocks簡介
???????? DialogBlocks官方主頁:http://www.anthemion.co.uk/dialogblocks/
三、DialogBlocks入門向導
???????? 安裝完成后,DialogBlocks有幾個實例工程可以供大家參考。
??? 1、新建HelloWorld工程
????????? 關閉這些后點擊File->New Project進入工程向導。
點擊Next進入下一個選擇頁面
???????? Mode中有3個選項:
??????? ?Generate for C++:表示工具并不生成*.xrc(xml格式文件)配置文件,直接將窗口的一些信息(比如樣式、大小、是否可見等等)直接寫在源代碼中,用相應的標記區別,由工具來維護此段代碼區域。如果手工破壞了標記信息,工具將無法識別。
???????? Generate C++ for XRC:表示工具將窗口信息(…)寫入相應的*.xrc配置文件中,代碼塊中只寫加載這些配置的代碼。這種方式十分適合,界面大小不一致,需靈活配置界面。代碼塊的事件關聯每一個窗口控件唯一的ID。
???????? Generate XRC only:表示不生成源代碼,只生成*.xrc配置文件。更靈活的將代碼和界面設計的配置文件分開。代碼塊只需要通過窗口控件ID來控制其行為。
???????? 后面一路next,默認選項即可。
???????? 保存工程得到HelloWorld\HelloWorld.pjd文件,以后只要從此文件打開即可。
??? 2、新建主wxFrame或wxDialog
??? 3、添加其他控件
???????????? 修改啟動的主Frame:Main window選項修改為HelloWorld Frame的ID編號。
?? 3、添加其他控件
????????????比如菜單、工具條、狀態條、窗口里面的控件元素等等。
??????????? 注意窗口元素不是隨意添加的,必須先搞清楚wx的窗口元素之間的關系。比如:wxFrame/wxDialog直接包容wxMenuBar、wxToolBar、wxStatusBar,而wxTextCtrl、wxComboBox、wxStaticText等等最好建立在wxBoxSizer之內。
??????????? wxBoxSizer是wx的特色之一,它可以對其包含的控件進行自動調整。當然需要設定其自動調整屬性。以上均使用默認的屬性。
四、HelloWorld的VS工程配置
??????????? 完成以上部分就說明最基本的界面框架已經做好了。我們還需要新建基于Win32的空HelloWorld工程,將DialogBlocks生成的*.h *.cpp文件添加HelloWorld工程中去。
??????????? 按照上一篇關于Win32部分的配置來設置本工程。
??????????? 編譯運行(別忘了把wx庫的*.dll文件…)結果會報出wxWidgets Assert忽略即可,原因是上面建立的wxToolBar\Tool沒有找到對應的圖標,把圖標添加進去并設定wx資源加載路徑即可。
??? 五、綁定控件事件控制
???????????? 在DialogBlock中選中wxButton:ID_BUTTON1切換右邊視圖到Event handlers,點選BUTTON_CLICK事件,并保存。綁定事件有兩種方式,DialogBlocks采用的是靜態綁定的方式,還一種是采用動態綁定事件。
?????????? 再找到HelloWorld類,并添加頭文件#include?<wx/msgdlg.h>
?????????? void HelloWorld::OnButton1Click( wxCommandEvent& event )
??????????? {
???????????????????? ?wxMessageBox(wxT("Hello World!\r\n單擊了Button1Click!"));?
??????????? }
?????????? 即可得到如下效果:
?
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
冰糖葫蘆歌原唱?《冰糖葫蘆》的原曲是:馮曉泉。這首歌由《冰糖葫蘆》馮曉泉演唱,馮曉泉作曲,張和平和杜鵬作詞。冰糖葫蘆原唱是誰?《糖葫蘆》這首歌的原唱是馮曉泉。馮曉泉,音樂人,滿族,出生于哈爾濱,歌手,國家新銳音樂人。冰糖葫蘆蔡國慶原唱?不,《糖葫蘆》這首歌的原唱是馮曉泉。歌詞:都說糖葫蘆是酸的,酸中裹著甜。都說糖葫蘆是甜的,其實里面是酸的。糖葫蘆掛在竹簽上很好看,象征著幸福和團圓。把幸福和團圓連在...
主題WB包什么意思?WB是WindowBlinds5的縮寫。WindowBlinds5是一個系統主題改變軟件。不同于常見的XP系統主題,WindowBlinds5WindowBlinds是一款美化Windows系統的特殊應用,尤其是可以改變所有Windows應用窗口,安裝運行非常簡單。WindowBlinds安裝后可以集成到Windows操作系統中。而且這款軟件是微軟唯一授權的第三方系統美化軟件。...
首創輪胎的優點和缺點?首創輪胎,北京首創輪胎旗艦品牌。綜合經濟實力在輪胎行業排名第15位,半鋼子午線輪胎前5名。產品注冊商標為BCT、經綸、盾、奧特佳等。在輪胎行業可以算是(半鋼子午線輪胎)平均水平。優點:環保,剎車距離短,穩定性好。缺點:噪音大,帶水路面操控差。bct輪胎官網?BCT是北京第一輪胎,全稱是北京車輪??梢哉f經綸輪胎是低端輪胎中的佼佼者,尤其是這款輪胎質量非常好。北京輪輪胎以高強度橡...