锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鑷畾涔夋秷鎭鐞?br>(涓嶇煡閬撳湪wxpython,wxruby濡備綍鑷畾涔夌被鍨嬫秷鎭?
鏈濂借涓獁xpython,鍦ㄥ叾demo鐜板満緙栧啓鐜板満鏌ョ湅緇撴灉)
姝ラ濡備笅:
1.鍦ㄥ畯閲屽鐞嗗涓?
a.
xxxx 涓鴻嚜瀹氫箟鏁板瓧,涓嶈繃緲誨埌wxwidget鍐呴儴,鍏跺畯瀹氫箟涓value濂藉儚
娌$敤!(...)
b. 瀹氫箟wxEvT_MYCOMMAND 鏍囪瘑
c. 瀹氫箟瀹廍VT_MYCOMMAND
鏍煎紡涓妸鑷畾涔夋爣璇嗘敼涓鴻嚜宸卞嵆鍙?鎷瘋礉.
2.鍦˙EGIN_EVENT_TABLE琛ㄤ腑鑷畾涔夋槧灝?
3.澶勭悊鎶曢?/p>
鑷畾涔夋秷鎭彂閫?this 涓鑸槸鎺ュ彈娑堟伅handler,涔熷彲鍏跺畠wxEvtHandler.
4.鑷畾涔夋秷鎭鐞嗗嚱鏁?br> 蹇呴』絎﹀悎wxCommandEventFunction鏍煎紡,鏃負濡備笅:
涓轟粈涔堢敤VC6錛屽彧涓嶈繃姝ゆ枃涓撻棬閽堝VC6鑰屽凡銆?
鐐瑰嚮鑿滃崟錛欶ile -> New... 鍒涘緩涓涓?Win32 Application" Project錛岄」鐩悕縐頒負"wxProject"錛岀偣鍑籓K鎸夐挳錛?/p>
鍦ㄤ笅涓姝ョ殑鎻愮ず涓夋嫨"An Empty Project"錛岀偣鍑籉inish鎸夐挳瀹屾垚欏圭洰鐨勫垱寤恒?/p>
浠ヤ笅鐨勮緗拰鎿嶄綔鍙兘鏈変竴浜涚箒鐞愶紝浣嗚繖鏄竴鍔蟲案閫哥殑浜嬫儏銆傚彧瑕佷綘瀹屾垚浜嗙涓涓┖鐧藉伐紼嬶紝浠ュ悗鍐嶉渶瑕佸垱寤哄伐紼嬫椂澶嶅埗涓浠藉氨鍙互浜嗐?/p>
銆
浠ヤ笅鍥涗釜緙栬瘧閰嶇疆騫朵笉瑕佹眰閮藉繀欏昏緗ソ錛屽鏋滄偍涓嶆墦綆椾嬌鐢║nicode錛岄偅涔堜笉鐢ㄨ緗?Win32 Unicode Debug"鍜?Win32 Unicode Release"錛屽鏋滄偍浠呬粎鎯寵皟璇曠▼搴忚岄潪鍙戝竷錛屽垯鍙渶璁劇疆鐩稿簲鐨?Debug"涓嶇敤璁劇疆"Release"銆傛渶綆鍗曠殑鎯呭喌涓嬶紝鍙渶璁劇疆"Win32 Debug"銆?/p>
榪樻湁涓鐐硅娉ㄦ剰錛屾偍闇瑕佷簨鍏堢紪璇戝嚭鐩稿簲鐗堟湰鐨?wxWidgets 搴撴枃浠躲傚"Win32 Unicode Debug"闇瑕?
Unicode+Debug 鐗堟湰鐨?wxWidgets 搴撱傦紙wxWidgets 鍚勭鐗堟湰搴撳潎鍙氳繃
鐐瑰嚮鑿滃崟錛歅roject -> Settings... 鎵撳紑欏圭洰灞炴ц緗璇濇銆?/p>
Preprocessor definitions: WIN32,_DEBUG,__WXMSW__,__WXDEBUG__,_MBCS,_WINDOWS,NOPCH Use run-time library: Debug Multithreaded DLL Object/library modules: wxmsw26d_xrc.lib
wxmsw26d_html.lib wxmsw26d_adv.lib wxmsw26d_core.lib wxbase26d_xml.lib
wxbase26d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib
wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib
comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib
oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib Preprocessor definitions: WIN32,NDEBUG,__WXMSW__,_MBCS,_WINDOWS,NOPCH Use run-time library: Multithreaded DLL Object/library modules: wxmsw26_xrc.lib
wxmsw26_html.lib wxmsw26_adv.lib wxmsw26_core.lib wxbase26_xml.lib
wxbase26.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib
wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib
winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib
rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib 榪涜浠ヤ笅鎿嶄綔涔嬪墠錛岃鍏堥氳繃鑿滃崟 Build -> Configurations... 澧炲姞涓や釜緙栬瘧閰嶇疆"Win32 Unicode
Debug"鍜?Win32 Unicode Release"錛堝垎鍒鍒朵簬"Win32 Debug"鍜?Win32 Release"錛夈?/p>
Preprocessor definitions: WIN32,_DEBUG,__WXMSW__,__WXDEBUG__,_UNICODE,_WINDOWS,NOPCH Use run-time library: Debug Multithreaded DLL Object/library modules: wxmsw26ud_xrc.lib
wxmsw26ud_html.lib wxmsw26ud_adv.lib wxmsw26ud_core.lib
wxbase26ud_xml.lib wxbase26ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib
wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib
gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib
ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib
odbc32.lib Preprocessor definitions: WIN32,NDEBUG,__WXMSW__,_UNICODE,_WINDOWS,NOPCH Use run-time library: Multithreaded DLL Object/library modules: wxmsw26u_xrc.lib
wxmsw26u_html.lib wxmsw26u_adv.lib wxmsw26u_core.lib wxbase26u_xml.lib
wxbase26u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib
wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib
winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib
rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib 銆 鍦ㄥ墠闈㈢殑璁劇疆涓紝鎸囧畾浜唚xWidgets鐨勫簱鏂囦歡錛?.lib錛夛紝浣哣C鍙兘騫朵笉鐭ラ亾鍒板摢涓洰褰曞幓瀵繪壘榪欎簺鏂囦歡銆傚悓鏃訛紝鎴戜滑鐨勬簮浠g爜涓篃瑕佸寘鍚?
錛坕nclude錛墂xWidgets鐨勫ご鏂囦歡錛屽叾澶存枃浠舵墍鍦ㄧ洰褰曚篃闇瑕佹寚瀹氥傚彟澶栵紝涓轟簡鏇村ソ鐨勮皟璇晈x紼嬪簭錛屾渶濂芥妸wxWidgets鐨勬簮浠g爜鎵鍦ㄧ洰褰?
涔熻緗ソ銆?/p>
鐐瑰嚮鑿滃崟 Tools -> Options...錛岃繘鍏?Directories 欏碉紝鍒嗗埆鍔犲叆浠ヤ笅璺緞錛堜笅闈㈢殑 Include files: Library files: Source files: 榪欎竴璁劇疆鏄拡瀵筕C鍏ㄥ眬鐨勶紝浠ュ悗鍐嶇敤VC鍒涘緩wxWigets紼嬪簭錛屽氨涓嶇敤璁劇疆榪欎簺璺緞浜嗐?/p>
銆 鍚勪釜緙栬瘧鍣ㄤ笉鍚岋紝鏈夌殑鏀寔棰勭紪璇戝ご鏂囦歡錛屾湁鐨勪笉鏀寔錛屾敮鎸侀緙栬瘧澶存枃浠剁殑錛屼嬌鐢ㄧ殑璇硶涔熸湁鎵涓嶅悓錛屽鏋滃湪姣忎釜婧愭枃浠朵腑閮介噸澶嶇殑鍐欐湭鍏嶄笉鐖斤紝榪樻槸闆嗕腑鍒頒竴涓ご鏂囦歡涓潵姣旇緝濂姐備絾鏄敞鎰忥紝鏈変簡姝ゆ枃浠跺茍涓嶅喅瀹氭垨闄愬埗浣犱嬌鐢ㄨ繕鏄笉浣跨敤棰勭紪璇戝ご鏂囦歡錛岀敤涓嶇敤浠ュ強鎬庝箞鐢ㄨ繕鏄湪浣犮?/p>
鐐瑰嚮鑿滃崟 File -> New...錛屾柊寤轟竴涓狢/C++澶存枃浠?wx_pch.h錛屽叾鍐呭濡備笅錛?/p>
wxWidgets瀹樻柟鏂囨。鏄ぇ姒備篃鏄繖鏍鋒帹鑽愶紝Code::Blocks涓熀鏈笂灝辨槸榪欐牱瀛愶紝鎴戝彧鏄畝鍗曠殑澧炲姞浜嗕竴琛?#include 浠ュ悗錛屽伐紼嬩腑鐨勬簮鏂囦歡錛屽彧瑕佸寘鍚紙include錛?wx_pch.h 鏂囦歡灝卞彲浠ヤ簡銆?/p>
銆 鐐瑰嚮鑿滃崟 Insert -> New
Class...錛屾柊寤轟竴涓悕縐頒負"App"鐨勭被錛堢被鍚嶇О鍙互闅忔剰錛夛紝鑰冭檻鍒頒唬鐮佺殑璺ㄥ鉤鍙版э紝寤鴻灝嗗叾鎵鍦ㄦ枃浠剁殑鍚嶇О淇敼涓哄叏閮ㄤ嬌鐢ㄥ皬鍐欏瓧姣嶏紙濡?
app.h/app.cpp錛夈傛鎿嶄綔灝嗙敓鎴愭枃浠?app.h 鍜?app.cpp銆?/p>
VC鍦ㄨ繖閲岀敓鎴愮殑綾諱唬鐮佹樉鐒舵槸涓嶆弧瓚蟲垜浠殑瑕佹眰鐨勶紝闇瑕佽繘琛屼互涓嬩慨鏀癸細 app.h 澧炲姞棰勭紪璇戝ご鏂囦歡 wx_pch.h 鐨勫寘鍚紙浠ュ悗鍒涘緩鐨勬瘡涓?h鏂囦歡閮借鍖呭惈瀹冿級錛?font color="#0000ff">#include "wx_pch.h" 鎸囧畾App綾葷殑鐖剁被涓簑xApp錛氬嵆灝?class App"淇敼涓?class App : public wxApp" 涓虹被澧炲姞铏氭柟娉昈nInit()鐨勫0鏄庯細virtual bool OnInit(); 鍦ㄧ被澹版槑鐨勪笅鏂瑰鍔?wxWidgets App 澹版槑錛?font color="#a000a0">DECLARE_APP(App) 鏈緇?app.h 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙紿佸嚭鏄劇ず錛夛細 app.cpp 澧炲姞澶存枃浠跺寘鍚紙姝ゅご鏂囦歡灝嗗湪涓嬮潰鍒涘緩MainFrame綾繪椂鍒涘緩錛夛細#include "mainframe.h" 澧炲姞 OnInit() 鏂規硶鐨勫畾涔夛紙鍏朵腑鐢ㄥ埌鐨凪ainFrame綾誨畾涔変簬mainframe.h錛岃鍚庢枃錛夛細 鍦ㄧ被瀹氫箟鐨勪笂鏂瑰鍔?wxWidgets App 瀹氫箟錛?font color="#a000a0">IMPLEMENT_APP(App) 鏈緇?app.cpp 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙紿佸嚭鏄劇ず錛夛細 銆 鐐瑰嚮鑿滃崟 Insert -> New
Class...錛屾柊寤轟竴涓悕縐頒負"MainFrame"鐨勭被錛堢被鍚嶇О鍙互闅忔剰錛夛紝鑰冭檻鍒頒唬鐮佺殑璺ㄥ鉤鍙版э紝寤鴻灝嗗叾鎵鍦ㄦ枃浠剁殑鍚嶇О淇敼涓哄叏閮ㄤ嬌鐢ㄥ皬鍐欏瓧姣?
錛堝 mainframe.h/mainframe.cpp錛夈傛鎿嶄綔灝嗙敓鎴愭枃浠?mainframe.h 鍜?mainframe.cpp銆? 涓嬮潰瀵筕C鐢熸垚鐨勭被浠g爜榪涜鐩稿簲鐨勪慨鏀癸細 mainframe.h 澧炲姞棰勭紪璇戝ご鏂囦歡鐨勫寘鍚細#include "wx_pch.h" 鎸囧畾MainFrane綾葷殑鐖剁被涓簑xFrame錛?font color="#0000ff">class MainFrame : public wxFrame 淇敼鏋勯犲嚱鏁扮殑澹版槑錛?font color="#0000ff">MainFrame(wxWindow* parent, const wxString& title); 鍦ㄧ被瀹氫箟鐨勬湯灝懼鍔犱簨浠惰〃澹版槑錛?font color="#a000a0">DECLARE_EVENT_TABLE() 鏈緇?mainframe.h 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙紿佸嚭鏄劇ず錛夛細 mainframe.cpp 淇敼鏋勯犲嚱鏁扮殑瀹氫箟錛?/p>
澧炲姞浜嬩歡琛ㄥ畾涔夛紙BEGIN_EVENT_TABLE 涓?END_EVENT_TABLE 涔嬮棿淇濈暀絀虹櫧錛岀暀寰呬互鍚庣粦瀹氫簨浠訛級錛?/p>
鏈緇?mainframe.cpp 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙紿佸嚭鏄劇ず錛夛細 銆 鑷蟲錛屼竴涓獁xWidget鐨勭┖鐧絇roject宸茬粡鍒涘緩瀹屾瘯 緙栬瘧鐢熸垚鐨?exe 鏂囦歡鐨勫ぇ灝忥細 姝ゆ暟鎹叏閮ㄦ槸闈欐侀摼鎺xWidgets鐨勭粨鏋溿傚姩鎬侀摼鎺ョ殑璇濓紝EXE鐨勫ぇ灝忔病鏈夋剰涔夆斺斿埆蹇樹簡wxWidgets鐨勭増DLLs鐨勫ぇ灝忔誨叡綰?鍒?M錛圧elease鐗堬級銆?/p>
鍚?wxFrame 鎴?wxDialog 涓坊鍔犲瓙鎺т歡鏄瘮杈冨鏄撶殑錛屽彧闇鍦ㄥ叾瀛愮被鐨勬瀯閫犲嚱鏁頒腑 new 鐩稿簲鐨勫瓙鎺т歡灝卞彲浠ヤ簡銆?/p>
榪欐槸鏈綆鍗曠殑鎯呭喌錛?/p>
娌¢敊錛屽彧瑕?new"涓涓嬪氨鎼炲畾浜嗭紝鎺т歡浼氳嚜鍔ㄥ嚭鐜板湪wxFrame涓傝繖鏄繍琛岀粨鏋滐細 濡傛灉鐣岄潰鍐嶅鏉備竴浜涳紝涓婇潰榪欑鏂規硶灝辮涓嶉氫簡錛屾垜浠渶瑕佸紩鍏?Sizer"錛堣瑙?a >http://www.wxwidgets.org/manuals/2.6.3/wx_sizeroverview.html錛圫izer涓瑙堬級錛夛細 涓婇潰鏄琛岀紪杈戞鎺т歡錛屼笅闈㈡槸鎸夐挳鎺т歡錛屽綋紿楀彛澶у皬鍙樺寲鏃訛紝緙栬緫妗嗘帶浠跺皢鍦ㄦ按騫沖拰鍨傜洿鏂瑰悜涓婅嚜鍔ㄦ墿灞曪紝鑰屾寜閽緇堜綅浜庣獥鍙e簳閮ㄥ眳涓?/p>
涓婅堪浠g爜涓秹鍙婄殑鎺т歡ID錛圛D_TEXTCTRL錛孖D_BUTTON錛夋槸鎴戜滑鍦?mainframe.cpp 涓嚜琛屽畾涔夌殑錛堝畾涔夋帶浠禝D鐨勭洰鐨勬槸涓轟簡涓嬩竴姝ヤ簡浜嬩歡澶勭悊錛夛細 鍙傝冩枃妗o細http://www.wxwidgets.org/manuals/2.6.3/wx_sizeroverview.html錛圫izer涓瑙堬級 閲囩敤XML鏍煎紡鏂囦歡錛圶RC鏂囦歡錛夊畾涔夌▼搴忕晫闈篃鏄笉閿欑殑鏂瑰紡錛岃瑙侊細http://www.wxwidgets.org/manuals/2.6.3/wx_xrcoverview.html錛堝熀浜嶺ML鐨勮祫婧愮郴緇熶竴瑙堬級銆?/p>
鏃犺濡備綍錛屾墜宸ヨ繘琛岀晫闈㈠竷灞鎬繪槸寰堢箒鏉傦紝鎴戜滑闇瑕侊紙鍙鍖栵級宸ュ叿鐨勫府鍔╋細http://www.wxwidgets.org/apps2.htm 銆 鍦╳xWidgets涓鐞嗕簨浠訛紝涓昏鏈変袱涓楠わ細緙栧啓"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"錛屽~鍐?浜嬩歡琛紙EVENT_TABLE錛?銆?/p>
浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級瑙嗕簨浠剁殑涓嶅悓鑰屾湁鎵涓嶅悓錛屼絾涔熸湁瑙勫緥錛氭病鏈夎繑鍥炲鹼紝鍙湁涓涓紩鐢ㄥ瀷鍙傛暟錛堜笖涓瀹氭槸wxEvent鐨勫瓙綾伙級錛屼笉鏄櫄鏂規硶錛坴irtual method錛夈備簨浠跺鐞嗗嚱鏁幫紙鏂規硶錛夌殑鍚嶇О娌℃湁鐗規畩瑙勫畾錛屽彲浠ヨ嚜琛屽懡鍚嶃?/p>
浣滀負紺轟緥錛屾垜浠潵澶勭悊涓婂浘涓?嫻嬭瘯鎸夐挳"琚寜涓嬬殑浜嬩歡銆?/p>
鏍規嵁wxWidgets鏂囨。錛岃澶勭悊鎸夐挳浜嬩歡錛岄渶鍦ㄨ嚜宸辯殑綾諱腑娣誨姞濡備笅浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級錛?font color="#0000ff">void MainFrame::OnButtonClick (wxCommandEvent &event) 鍏蜂綋璇存潵灝辨槸錛屽湪 mainframe.h 鏂囦歡涓殑 MainFrame 綾諱腑澧炲姞鏂扮殑 OnButtonClick() 鏂規硶澹版槑錛?/p>
騫跺湪 mainframe.cpp 鏂囦歡涓鍔?OnButtonClick() 鏂規硶鐨勫畾涔夛細 涓嬮潰闇瑕佸湪 mainframe.cpp 涓~鍐?浜嬩歡琛紙EVENT_TABLE錛?錛屼互渚挎垜浠殑"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"鑳藉湪閫傚綋鐨勬椂鏈猴紙鍗充簨浠惰Е鍙戞椂錛夎璋冪敤錛?/p>
鍦ㄨ繖涓簨浠惰〃涓紝鎴戜滑浣跨敤瀹?EVT_BUTTON 鎸囧畾浜嗘寜閽殑ID錛屼互鍙?浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"銆?/p>
娉細涓婇潰涓鐩磋"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"錛屽叾瀹炴槸"鏂規硶錛坢ethod錛?涓嶆槸"鍑芥暟錛坒unction錛?錛屽彧鏄?鏂規硶"榪欎釜璇嶅湪緙栫▼棰嗗煙鍜屽湪鏃?
甯哥敓媧諱腑鍙互鏈変笉鍚岀殑鐞嗚В錛?鏂規硶"涔熷彲浠ョ悊瑙d負"鏂瑰紡"錛夛紝鎴戝鏋滆鎴?浜嬩歡澶勭悊鏂規硶"錛岄毦鍏嶄細浜х敓姝т箟銆傚綋鐒訛紝"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"浼間箮涔熷茍涓嶅崄
鍒嗗悎閫傦紝搴旂О涓?浜嬩歡澶勭悊'鏂規硶'"鎴?浜嬩歡澶勭悊鏂規硶錛坢ethod錛?錛熷啀娣辯┒涓嬪幓灝辨湁鍜枃鍤煎瓧鐨勫珜鐤戜簡錛岃仾鏄庣殑璇昏呮棭宸叉槑鐧芥垜鐨勬剰鎬濅簡鍚э紵 銆 濡備綍澶勭悊鍏跺畠浜嬩歡錛?/p>
璇寸櫧浜嗭紝鍏抽敭瑕佺煡閬撲袱鐐癸細浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級鐨勫弬鏁版槸浠涔堢被鍨嬶紝濉啓鍙傛暟琛ㄦ椂鐢ㄥ摢涓涓畯錛圗VT_*錛夈?/p>
鍐嶈ˉ鍏呬竴鐐癸細瑕佺煡閬?浠涔堟帶浠?鍦?浠涔堟椂鏈?浼氳Е鍙?浠涔堜簨浠?銆?/p>
瑕佺煡閬撹繖浜涳紝灝遍渶瑕佸wxWidgets鐨勪簨浠跺鐞嗘湁涓涓瘮杈冨叏闈㈢殑浜嗚В銆?/p>
寤鴻鐪嬩竴涓媤xWidgets瀹樻柟鏂囨。涓殑榪欑瘒鏂囩珷錛?a >http://www.wxwidgets.org/manuals/2.6.3/wx_eventhandlingoverview.html錛堜簨浠跺鐞嗕竴瑙堬級 灝ゅ叾鏄叾涓殑 Event macros summary錛堜簨浠跺畯姒傝錛変竴孌點?/p>
鐢靛瓙涔︺?a >Cross-Platform GUI Programming with wxWidgets銆嬮檮褰?錛圓ppendix I, 617欏碉級涓浜嬩歡澶勭悊鏃舵墍娑夊強鐨勪簨浠剁被鍨嬶紙wxXXXEvent錛夊拰浜嬩歡瀹忥紙EVT_*錛夋湁姣旇緝濂界殑鎬葷粨錛屽緩璁湅涓涓嬶紝鏈濂芥墦鍗板嚭鏉ユ斁鍦ㄦ墜杈癸紝浠ヤ究闅忔椂鍙傝冦? 鏈枃鎵娑夊強鐨勫畬鏁存簮浠g爜鍙湪姝や笅杞斤細http://liigo.diy.myrice.com/article/wxProject/wxProject.zip 浜嗚В Sizer錛岀啛鎮夌晫闈㈣璁★細http://www.wxwidgets.org/manuals/2.6.3/wx_sizeroverview.html 浜嗚В 浜嬩歡澶勭悊錛?a >http://www.wxwidgets.org/manuals/2.6.3/wx_eventhandlingoverview.html 浜嗚В wxWidgets 鎻愪緵浜嗗摢浜涙帶浠訛紝瀹冧滑鍚勮嚜鐨勫睘鎬с佹柟娉曘佷簨浠訛紝浠ュ強瀹冧滑鐨勭敤娉曘?/p>
鍘?wxWidgets.org 涓婃壘絎笁鏂圭殑鎺т歡/搴擄細http://www.wxwidgets.org/contrib2.htm#classes 鍘?wxWiki 涓婃壘絎笁鏂圭殑鎺т歡/搴擄細http://www.wxwidgets.org/wiki/index.php/Table_Of_Contents#Pages_about_classes.2C_functions_or_macros GUI搴撳槢錛熸棤闈炲氨鏄帶浠訛紙component錛夌殑浣跨敤錛氬竷灞銆佹搷浣溿佷簨浠跺鐞嗐?/p> Win32 Debug錛?/h2>
C/C++ General:
C/C++ Code Generation:
Link General:
Win32 Release錛?/h2>
C/C++ General:
C/C++ Code Generation:
Link General:
Win32 Unicode Debug錛?/h2>
C/C++ General:
C/C++ Code Generation:
Link General:
Win32 Unicode Release錛?/h2>
C/C++ General:
C/C++ Code Generation:
Link General:
璁劇疆wxWidgets鐩綍
鍒涘緩wxWidgets棰勭紪璇戝ご鏂囦歡
#ifndef WX_PCH_H_INCLUDED
#define WX_PCH_H_INCLUDED
#if ( defined(USE_PCH) && !defined(WX_PRECOMP ) )
#define WX_PRECOMP
#endif // USE_PCH
// basic wxWidgets headers
#include <wx/wxprec.h>
// for use xrc files
#include <wx/xrc/xmlres.h>
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#ifdef USE_PCH
// put here all your rarely-changing header files
#endif // USE_PCH
#endif // WX_PCH_H_INCLUDED鍒涘緩wxApp瀛愮被
// by: liigo.com
#if !defined( AFX_APP_H__B4514AF3_2125_487B_BD66_AF638A80E73A__INCLUDED_)
#define AFX_APP_H__B4514AF3_2125_487B_BD66_AF638A80E73A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "wx_pch.h"
class App : public wxApp
{
public :
App();
virtual ~App();
virtual bool OnInit ();
};
DECLARE_APP(App )
#endif // !defined(AFX_APP_H__B4514AF3_2125_487B_BD66_AF638A80E73A__INCLUDED_)
bool App::OnInit()
{
MainFrame* mainFrame = new MainFrame(NULL, _("MainFrame by liigo.com"));
mainFrame->Show ();
SetTopWindow(mainFrame);
return true;
}
#include "app.h"
IMPLEMENT_APP (App)
App:: App()
{
}
App::~App()
{
}
bool App::OnInit()
{
MainFrame* mainFrame = new MainFrame(NULL, _("MainFrame by liigo.com"));
mainFrame-> Show();
SetTopWindow(mainFrame);
return true;
}鍒涘緩wxFrame瀛愮被
#if !defined(AFX_MAINFRAME_H__1BC90331_B69E_40F2_BDF7_197550D70F07__INCLUDED_ )
#define AFX_MAINFRAME_H__1BC90331_B69E_40F2_BDF7_197550D70F07__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "wx_pch.h"
class MainFrame : public wxFrame
{
public:
MainFrame( wxWindow* parent, const wxString & title);
virtual ~MainFrame();
DECLARE_EVENT_TABLE()
};
#endif // !defined(AFX_MAINFRAME_H__1BC90331_B69E_40F2_BDF7_197550D70F07__INCLUDED_)
MainFrame::MainFrame(wxWindow* parent, const wxString& title) : wxFrame(parent, wxID_ANY, title)
{
//wxTextCtrl* text = new wxTextCtrl(this, wxID_ANY, _("some text"));
}
BEGIN_EVENT_TABLE(MainFrame, wxFrame)
END_EVENT_TABLE()
#include "mainframe.h"
BEGIN_EVENT_TABLE (MainFrame, wxFrame)
END_EVENT_TABLE()
MainFrame::MainFrame( wxWindow* parent, const wxString& title) : wxFrame (parent, wxID_ANY, title)
{
//wxTextCtrl* text = new wxTextCtrl(this, wxID_ANY, _("some text"));
}
MainFrame ::~MainFrame()
{
}
鍙墽琛屾枃浠跺ぇ灝?/td>
Debug
Release
Unicode
3.78M
956K
闈濽nicode
3.60M
932K
娣誨姞瀛愭帶浠?/h1>
MainFrame::MainFrame(wxWindow* parent, const wxString& title) : wxFrame(parent, wxID_ANY, title)
{
wxTextCtrl * text = new wxTextCtrl( this, wxID_ANY, _("some text"));
}
MainFrame::MainFrame(wxWindow* parent, const wxString& title) : wxFrame(parent, wxID_ANY, title)
{
wxTextCtrl * textCtrl = new wxTextCtrl( this, ID_TEXTCTRL, _T("some text"), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
wxButton * button = new wxButton(this , ID_BUTTON, _("嫻嬭瘯鎸夐挳"), wxDefaultPosition , wxDefaultSize, 0 );
wxBoxSizer* vBoxSizer = new wxBoxSizer(wxVERTICAL);
this ->SetSizer(vBoxSizer);
vBoxSizer->Add (textCtrl, 1, wxALL|wxEXPAND, 5);
vBoxSizer->Add(button, 0 , wxALIGN_CENTER_HORIZONTAL|wxALL|wxALIGN_BOTTOM, 5);
}
enum CtrlID
{
ID_TEXTCTRL, ID_BUTTON
};澶勭悊浜嬩歡
private:
void OnButtonClick( wxCommandEvent& event);
void MainFrame::OnButtonClick( wxCommandEvent &event)
{
//鍙栫紪杈戞涓殑鏂囨湰騫剁敤淇℃伅妗嗘樉紺哄嚭鏉?br> wxString text = ((wxTextCtrl*)this-> FindWindow(ID_TEXTCTRL))->GetValue();
wxMessageBox (text);
}
BEGIN_EVENT_TABLE(MainFrame, wxFrame )
EVT_BUTTON(ID_BUTTON, MainFrame ::OnButtonClick)
END_EVENT_TABLE()
鏇磋繘涓姝?/h1>