宸ユ鍠勫叾浜嬶紝蹇呭厛鍒╁叾鍣ㄣ傚湪MFC涓婂紑鍙戯紝鏈?/span>VS緋誨垪寮哄ぇ鐨勫彲瑙嗗寲宸ュ叿錛屽熀浜?/span>wx鐨勫紑鍙戝伐鍏瘋櫧鐒舵病鏈?/span>VS銆?/span>QT鐨勭晫闈㈣璁″櫒寮哄ぇ錛屼絾鍦ㄧ伒媧誨害涓?/span>VS鐨勭晫闈㈣璁″櫒鏄病娉曟瘮鐨勶紙QT鐨勬病鏈夌敤榪囷紝涓嶅仛璇勮錛夈?br> 濡傛灉閫夋嫨浜?/span>wx搴擄紝浜嗚В鍑犳鍩轟簬鍏朵笂鐨勭晫闈㈣璁″伐鍏鳳紝浼氬ぇ澶ф彁楂樺紑鍙戞晥鐜囥?/span>
涓銆?/span>wx鐣岄潰璁捐宸ュ叿綆浠?/span>
瀹樻柟寤鴻鐨勫伐鍏烽泦鍚堬細http://wiki.wxwidgets.org/Tools
鍦ㄥ垰寮濮嬬殑鏃跺欙紝鎴戜篃灝濊瘯榪囧嚑嬈懼伐鍏鳳紙wxFormBuilder銆?/span>wxDev-C++銆?/span>wxDesigner絳夛級錛屼絾鍚庢潵榪樻槸閫夋嫨浜?/span>DialogBlocks-4.18銆傚浜庤繖浜涘伐鍏風殑閫夋嫨錛屽悇鏈夌壒鑹層傞夋嫨DialogBlocks錛屼富瑕佹槸鍥犱負鍏剁伒媧誨害寰堝ぇ錛屽綋鐒剁己鐐瑰氨鏄渶瑕佹墜宸ュ啓浠g爜鏉ョ粨鍚堝伐鍏蜂嬌鐢ㄣ備絾榪欑偣瀵逛簬鐔熸倝wx浠ュ悗灝變笉鍐嶆槸緙虹偣錛岃屾槸濂規渶澶х殑浼樼偣銆?/span>
浜屻?/span>DialogBlocks綆浠?/span>
DialogBlocks瀹樻柟涓婚〉錛?/span>http://www.anthemion.co.uk/dialogblocks/
涓夈?/span>DialogBlocks鍏ラ棬鍚戝
瀹夎瀹屾垚鍚庯紝DialogBlocks鏈夊嚑涓疄渚嬪伐紼嬪彲浠ヤ緵澶у鍙傝冦?/span>
1銆佹柊寤?/span>HelloWorld宸ョ▼
鍏抽棴榪欎簺鍚庣偣鍑?/span>File->New Project榪涘叆宸ョ▼鍚戝銆?/span>
鐐瑰嚮Next榪涘叆涓嬩竴涓夋嫨欏甸潰
Mode涓湁3涓夐」錛?br> Generate for C++錛氳〃紺哄伐鍏峰茍涓嶇敓鎴?/span>*.xrc錛?/span>xml鏍煎紡鏂囦歡錛夐厤緗枃浠訛紝鐩存帴灝嗙獥鍙g殑涓浜涗俊鎭紙姣斿鏍峰紡銆佸ぇ灝忋佹槸鍚﹀彲瑙佺瓑絳夛級鐩存帴鍐欏湪婧愪唬鐮佷腑錛岀敤鐩稿簲鐨勬爣璁板尯鍒紝鐢卞伐鍏鋒潵緇存姢姝ゆ浠g爜鍖哄煙銆傚鏋滄墜宸ョ牬鍧忎簡鏍囪淇℃伅錛屽伐鍏峰皢鏃犳硶璇嗗埆銆?br> Generate C++ for XRC錛氳〃紺哄伐鍏峰皢紿楀彛淇℃伅錛?/span>…錛夊啓鍏ョ浉搴旂殑*.xrc閰嶇疆鏂囦歡涓紝浠g爜鍧椾腑鍙啓鍔犺澆榪欎簺閰嶇疆鐨勪唬鐮併傝繖縐嶆柟寮忓崄鍒嗛傚悎錛岀晫闈㈠ぇ灝忎笉涓鑷達紝闇鐏墊椿閰嶇疆鐣岄潰銆備唬鐮佸潡鐨勪簨浠跺叧鑱旀瘡涓涓獥鍙f帶浠跺敮涓鐨?/span>ID銆?br> Generate XRC only錛氳〃紺轟笉鐢熸垚婧愪唬鐮侊紝鍙敓鎴?/span>*.xrc閰嶇疆鏂囦歡銆傛洿鐏墊椿鐨勫皢浠g爜鍜岀晫闈㈣璁$殑閰嶇疆鏂囦歡鍒嗗紑銆備唬鐮佸潡鍙渶瑕侀氳繃紿楀彛鎺т歡ID鏉ユ帶鍒跺叾琛屼負銆?/span>
鍚庨潰涓璺?/span>next錛岄粯璁ら夐」鍗沖彲銆?br> 淇濆瓨宸ョ▼寰楀埌HelloWorld\HelloWorld.pjd鏂囦歡錛屼互鍚庡彧瑕佷粠姝ゆ枃浠舵墦寮鍗沖彲銆?/span>
2銆佹柊寤轟富wxFrame鎴?/span>wxDialog
3銆佹坊鍔犲叾浠栨帶浠?/span>
淇敼鍚姩鐨勪富Frame錛?/span>Main window閫夐」淇敼涓?/span>HelloWorld Frame鐨?/span>ID緙栧彿銆?br>
3銆佹坊鍔犲叾浠栨帶浠?/span>
姣斿鑿滃崟銆佸伐鍏鋒潯銆佺姸鎬佹潯銆佺獥鍙i噷闈㈢殑鎺т歡鍏冪礌絳夌瓑銆?br>
娉ㄦ剰紿楀彛鍏冪礌涓嶆槸闅忔剰娣誨姞鐨勶紝蹇呴』鍏堟悶娓呮wx鐨勭獥鍙e厓绱犱箣闂寸殑鍏崇郴銆傛瘮濡傦細wxFrame/wxDialog鐩存帴鍖呭wxMenuBar銆?/span>wxToolBar銆?/span>wxStatusBar錛岃?/span>wxTextCtrl銆?/span>wxComboBox銆?/span>wxStaticText絳夌瓑鏈濂藉緩绔嬪湪wxBoxSizer涔嬪唴銆?br> wxBoxSizer鏄?/span>wx鐨勭壒鑹蹭箣涓錛屽畠鍙互瀵瑰叾鍖呭惈鐨勬帶浠惰繘琛岃嚜鍔ㄨ皟鏁淬傚綋鐒墮渶瑕佽瀹氬叾鑷姩璋冩暣灞炴с備互涓婂潎浣跨敤榛樿鐨勫睘鎬с?br>
鍥涖?/span>HelloWorld鐨?/span>VS宸ョ▼閰嶇疆
瀹屾垚浠ヤ笂閮ㄥ垎灝辮鏄庢渶鍩烘湰鐨勭晫闈㈡鏋跺凡緇忓仛濂戒簡銆傛垜浠繕闇瑕佹柊寤哄熀浜?/span>Win32鐨勭┖HelloWorld宸ョ▼錛屽皢DialogBlocks鐢熸垚鐨?/span>*.h *.cpp鏂囦歡娣誨姞HelloWorld宸ョ▼涓幓銆?/span>
鎸夌収涓婁竴綃囧叧浜?/span>Win32閮ㄥ垎鐨勯厤緗?/span>鏉ヨ緗湰宸ョ▼銆?/span>
緙栬瘧榪愯錛堝埆蹇樹簡鎶?/span>wx搴撶殑*.dll鏂囦歡…錛夌粨鏋滀細鎶ュ嚭wxWidgets Assert蹇界暐鍗沖彲錛屽師鍥犳槸涓婇潰寤虹珛鐨?/span>wxToolBar\Tool娌℃湁鎵懼埌瀵瑰簲鐨勫浘鏍囷紝鎶婂浘鏍囨坊鍔犺繘鍘誨茍璁懼畾wx璧勬簮鍔犺澆璺緞鍗沖彲銆?br>
浜斻?/span>緇戝畾鎺т歡浜嬩歡鎺у埗
鍦?/span>DialogBlock涓変腑wxButton錛?/span>ID_BUTTON1鍒囨崲鍙寵竟瑙嗗浘鍒?/span>Event handlers錛岀偣閫?/span>BUTTON_CLICK浜嬩歡錛屽茍淇濆瓨銆傜粦瀹氫簨浠舵湁涓ょ鏂瑰紡錛?/span>DialogBlocks閲囩敤鐨勬槸闈欐佺粦瀹氱殑鏂瑰紡錛岃繕涓縐嶆槸閲囩敤鍔ㄦ佺粦瀹氫簨浠躲?br>
鍐嶆壘鍒?/span>HelloWorld綾伙紝騫舵坊鍔犲ご鏂囦歡#include <wx/msgdlg.h>
void HelloWorld::OnButton1Click( wxCommandEvent& event )
{
wxMessageBox(wxT("Hello World錛?/span>\r\n鍗曞嚮浜?/span>Button1Click!"));
}
鍗沖彲寰楀埌濡備笅鏁堟灉錛?br>
宸ョ▼鏂囦歡涓嬭澆
Win32騫沖彴閰嶇疆
VC閰嶇疆灞炴э細
甯歌錛?br> MFC鐨勪嬌鐢細浣跨敤鏍囧噯Windows搴?br> C/C++錛?br> 甯歌錛氶檮鍔犲寘鍚洰褰曪細..\wxlib\include ..\wxlib\debug\mswud
棰勫鐞嗗櫒錛歐IN32錛沖DEBUG錛沖_WXMSW__錛沖_WXDEBUG__錛沖WINDOWS錛沇XUSINGDLL
浠g爜鐢熸垚錛氳繍琛屾椂搴擄細MDD
閾炬帴鍣細
甯歌錛氶檮鍔犲簱鐩綍錛?.\wxlib\debug
杈撳叆錛歸xbase28ud.lib wxmsw28ud_core.lib wxmsw28ud_xrc.lib wxbase28ud_xml.lib wxmsw28ud_adv.lib wxmsw28ud_aui.lib wxmsw28ud_html.lib rpcrt4.lib winmm.lib comctl32.lib advapi32.lib oleacc.lib緋葷粺錛氬瓙緋葷粺錛氭湭璁劇疆銆乄indows (/SUBSYSTEM:WINDOWS)
楂樼駭錛氬叆鍙g偣錛氭棤
WXUSINGDLL鏍囩琛ㄦ槑wx鏄敤鍔ㄦ佸簱鐨勬柟寮忓紩鍏ャ侻FC搴撴槸鍚﹀紩鍏ワ紝鐪嬩釜浜虹殑闇姹傦紝鍩烘湰涓婁嬌鐢╳x鏄笉鍐嶇敤MFC鐨勩?br>闄勫姞搴撲腑灝濊瘯鏃跺彲浠ュ皢鎵鏈夌殑..\wxlib\*.lib鍔犲叆榪涙潵錛岀劧鍚庡垎鍒牴鎹嬌鐢ㄦ儏鍐靛垎鍒墧闄ゆ煇浜沴ib鏂囦歡銆?br>鍏充簬榪愯鏃跺簱錛屾渶濂借鍜岀紪璇憌x搴撲繚鎸佷竴鑷達紙榪欓噷榛樿MDD錛夛紝涓嶇劧鍙兘鍑虹幇緙栬瘧閿欒銆?br>鏈鍚庤繍琛屾垚鏋滄椂錛屽埆蹇樹簡鎶?.dll鏂囦歡涔熸嫹璐濆埌鍙墽琛岀▼搴忔枃浠跺す涓幓銆?
WinCE騫沖彴璁劇疆
VC閰嶇疆灞炴э細
甯歌錛?br> MFC鐨勪嬌鐢細浣跨敤鏍囧噯Windows搴?br> C/C++錛?br> 甯歌錛氶檮鍔犲寘鍚洰褰曪細..\wxCELib\include ..\wxCELib\debug\winced
棰勫鐞嗗櫒瀹氫箟錛歘DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);
WINCE;DEBUG;_WINDOWS;$(ARCHFAM);$(_ARCHFAM_);
_UNICODE;UNICODE;__WXWINCE__;NOPCH;wxNO_EXCEPTIONS
浠g爜鐢熸垚錛歁TD
閾炬帴鍣細
闄勫姞搴撶洰褰曪細..\wxCELib\debug
杈撳叆錛歸x_mono.lib wx_wxexpat.lib wx_wxjpeg.lib wx_wxpng.lib wx_wxzlib.lib wcelibcex.lib
鍛戒護琛岋細闄勫姞閫夐」錛?/subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE
緋葷粺錛氬瓙緋葷粺錛氭湭璁劇疆
楂樼駭錛氬叆鍙g偣錛氭棤
wcelibcex.lib鏄ˉ鍏ㄩ儴鍒哤inCE涓奡DK緙哄け鐨勯儴鍒嗗嚱鏁板簱錛屾悳绱celibcex錛?a href="http://www.shnenglu.com/Files/zyzx/wcelibcex-1.0.rar">涓嬭澆錛夊瓧鏍鳳紝鍗沖彲鎵懼埌鐩稿簲鐨?.0婧愪唬鐮侊紝緙栬瘧鍚庢坊鍔犲埌鎴戜滑鑷繁鐨勫紑鍙戝簱鐩綍涓嬨?br>緙栫▼鏃舵敞鎰忓湪WinCE涓婂緢澶氱獥鍙g壒鎬э紝騫朵笉瀹屽叏涓嶹in32鐜鐩稿悓銆傚寘鎷獥鍙g殑緇勭粐緇撴瀯閮芥湁緇嗗井鐨勫樊鍒?br>騫朵笉鏄墍鏈墂x搴撶獥鍙g粍浠墮兘鍏煎鍒癢inCE錛屼絾鍩虹甯哥敤鐨勭粍浠惰繕鏄病鏈夊澶х殑闂鐨勩?
濂戒簡錛屾湁浜嗚繖浜涳紝灝卞彲浠ュ皾璇曟渶緇忓吀鐨剋x紼嬪簭浜嗐?/p>
1#include "wx/wx.h"
2using namespace std;
3class MyApp:public wxApp
4{
5public:
6vrtual bool OnInit();
7};
8class MyFrame:public wxFrame
9{
10public:
11MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) ;
12
13void OnQuit(wxCommandEvent& event);
14void OnAbout(wxCommandEvent& event);
15
16DECLARE_EVENT_TABLE()
17};
18enum
19{
20ID_Quit = 1,
21ID_About,
22};
23
24BEGIN_EVENT_TABLE(MyFrame, wxFrame)
25EVT_MENU(ID_Quit, MyFrame::OnQuit)
26EVT_MENU(ID_About, MyFrame::OnAbout)
27END_EVENT_TABLE()
28
29IMPLEMENT_APP(MyApp)
30
31bool MyApp::OnInit()
32{
33MyFrame *frame = new MyFrame( wxT("Hello World"), wxPoint(50,50), wxSize(450,340) ) ;
34frame->Show(TRUE);
35SetTopWindow(frame);
36return TRUE;
37}
38
39MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
40: wxFrame((wxFrame *)NULL, -1, title, pos, size)
41{
42#ifndef _WIN32_WCE
43wxMenu *menuFile = new wxMenu;
44
45menuFile->Append( ID_About, wxT("&About
") ) ;
46menuFile->AppendSeparator();
47menuFile->Append( ID_Quit, wxT("E&xit") ) ;
48
49wxMenuBar *menuBar = new wxMenuBar;
50menuBar->Append( menuFile, wxT("&File") ) ;
51
52SetMenuBar( menuBar ) ;
53
54CreateStatusBar();
55SetStatusText( wxT("Welcome to wxWindows!") ) ;
56#enif
57}
58
59void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
60{
61Close(TRUE);
62}
63
64void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
65{
66wxMessageBox(wxT("This is a wxWindows Hello world sample"),
67wxT("About Hello World"), wxOK | wxICON_INFORMATION, this) ;
68}
寰堥仐鎲緒xMenuBar鍦╓inCE涓婅繍琛屾槸鏈変簺闂鐨勶紝CreateStatusBar()涔熸槸涓嶈兘鍐峎inCE涓婅繍琛岋紝鎴栬涓嶄箙浼氳В鍐寵繖浜涢棶棰樸備笉榪囷紝鍩虹鐨剋xMenu銆亀xWindow鍗存槸鍙互鐨勶紝鏈夎繖浜涚粍寤哄鏉傜殑鐣岄潰涔熶笉闅俱?/p>
鍛靛懙錛岋紝濡傛灉閫氳繃緙栬瘧騫舵紜繍琛岋紝錛屻傘傘俕V^錛岋紝錛屽氨OK浜嗐傘傘?/p>