|
×î½ü¿´ÁËBorland C++BuilderXµÄ±¨µÀ£¬·¢ÏÖÕâ´ÎµÄ°æ±¾Ê¹ÓõÄÊÇwxWindows×öΪFrameWork¡£Ê®·Ö¾ªÑÈ£¬ÒòΪÎÒÔÚÒ»ÄêÒÔǰ¾ÍʹÓÃwxWindowsÁË¡£²»¹ýÔÚµ±Ê±£¬°üÀ¨×î½üÓйØËüµÄ¹úÄÚ±¨µÀ»¹ÊǺÜÉÙ¡£ wxWindowsÊÇÒ»¸öC++µÄÀ©Õ¹¿â¡£ÊÇÒ»¸öOpenSourceÏîÄ¿£¬¶øÇÒÖ§³Ö¶àƽ̨¡£ËùÒÔ£¬ÄãÍêÈ«¿ÉÒÔ´ÓOpenSourceµÄÍøÕ¾ÉÏÃâ·Ñ»ñµÃ¸÷¸öƽ̨µÄ°æ±¾ºÍÔ´´úÂë¡£¶ø¶ÔÓÚwxWindowsµÄ¹Ù·½ÍøÕ¾www.wxWindows.orgÎÒÒ»ÄêÀ´´Óδһ¶ÃÆä·¼ÈÝ£¬¡ª¡ªÍøÕ¾ÎÞ·¨·ÃÎÊ¡£µ«ÊǾ¡¹ÜÈç´Ë£¬²¢²»Ó°ÏìÎÒÃÇ»ñµÃËü¡£Õâ¶à¿÷ÁËOpenSourceµÄÁ¦Á¿¡£ wxWindows×îÎüÒýÎÒµÄÊÇËü¼ò½àµÄ´úÂ롪¡ª¼¸Ðмòµ¥µÄ´úÂë£¬ËæÐÄËùÓûµÄÅÉÉú¡£Ò»¸ö´°¿Ú¾Íµ®ÉúÁË¡£Ò»¸öÓÃAPIÒª½ü100ÐеÄЧ¹û¡£ÓÃwxWindows×î¶àÊ®¼¸ÐоͿÉÒÔ½â¾öÎÊÌâ¡£ÎÒÏëÕâÒ²»òÐíÊÇBorlandÑ¡ÔñËüµÄÔÒòÖ®Ò»°É¡£wxWindows¶ÔÓÚ¸÷ÖÖ³£ÓÿؼþºÍ·±ËöµÄ¹¦Äܶ¼·Ö±ð·â×°³ÉÁËÀࡣʹÓõÄʱºòÖ»Òª¼ÓÒ»ÐдúÂë¾Í¿ÉÒÔʹÓÃÁË¡£Ïñ
wxButton *p_b = new wxButton(frame,-1,"Button");
¾ÍÊÇÔÚframe´°¿ÚÖлæÖÆÒ»¸öдÓÐButtonµÄ°´Å¥¡£ÒÔºóµÄ·ÃÎÊֻҪʹÓÃ
p_b->//Òªµ÷Óõĺ¯Êý
¾Í¿ÉÒÔ¶Ô°´Å¥½øÐвÙ×÷ÁË¡£ÎÒÏëÖ±½ÓÓÃAPI¾ÍûÓÐÄÇô·½±ãÁ˰ɡ£ÆäʵÔÚ¼òµ¥µÄ±³ºó£¬wxWindowsΪÄãĬĬµÄ×öÁËÐí¶àµÄ¹¤×÷¡£ËäÈ»ÄãÒ²¿ÉÒÔÔÚwxWindowsÖжÔÕâЩ¹¤×÷È«Ãæ½ÓÊÖ¡£µ«ÊÇ£¬ÓÐЩʱºò¸ù±¾Ã»ÓбØÒªÄÇô×ö¡£µ±È»£¬Èç¹ûÄã¶ÔwxWindowsµÄ¿Ø¼þ²»ÂúÒâµÄ»°£¬ÍêÈ«¿ÉÒÔÓÃwxWindowsÅÉÉú³ö×Ô¼ºµÄ¿Ø¼þ¡£±ÈÈçÄã¶ÔÖ÷´°¿Ú²»ÂúÒ⡪¡ªÖ»ÓÐÒ»¿éÉî»ÒÉ«¡£ÄãÍêÈ«¿ÉÒÔÉú³ÉÒ»¸ö×Ô¼ºµÄÖ÷´°¿Ú£¬·½·¨ÈçÏ£º
Class MyFrame:Public wxFrame { public: MyFrame(int width,int height); }; MyFrame::MyFrame(int width,int height) :wxFrame((wxFrame)*NULL,wxPoint(0,0),wxSize(width,height)) { //ÄãΪMyFrameËùÌí¼ÓµÄ¿Ø¼þµÈ¡£ }
´ÓÉÏÃæµÄ´úÂ룬¿ÉÒÔ¿´³ö¡£wxWindowsÁé»îµÄÀà¹ÜÀí¡£ ÎÒÖÓÇéÓÚwxWindowsµÄÁíÒ»¸öÀíÓÉÊÇËüÓëC++±ê×¼¿âµÄ¼æÈݺͽ¡È«µÄ·Ç´°¿ÚÀà¡£±ÈÈ磬ÔÚwxWindowsÖÐÎÒ×îϲ»¶µÄÊÇwxString,ËüÊÇÎÒ¼ûµ½µÄ×ȫµÄStringÀàÖ®Ò»¡£Ëü²»µ«¿ÉÒÔÓëwxÍêÈ«¼æÈÝ£¬Ò²¿ÉÒÔÓëC++±ê×¼¼æÈÝ¡£ÔÚC++ÖУ¬wxString¸üÏñÒ»¸öÁé»î¶à±äµÄCharÁС£Äã¿ÉÒÔÏñCharÄÇÑùʹÓÃËü¡£¶øÎÞÐ迼ÂÇÄÚ´æµÄÊÂÏÈ·ÖÅäµÈÎÊÌâ¡£¶øÇÒ£¬ÔÚijЩ·½Ã棬Ëü±Èchar¸üÇ¿´ó¡£ µ±È»£¬¶ÔÓÚ¶àÆ½Ì¨µÄÖ§³ÖÒ²ÊÇÎÒϲ»¶ËüµÄÔÒò¡£wxWindowsÓÐ¶àÆ½Ì¨µÄ°æ±¾¡£ÎÒʹÓõÄÊÇMSWµÄ¡£µ±È»Ò²ÓÐ Mac X11 GTK MGLµÈÐí¶àƽ̨µÄ¡£Èç¹ûÄãÒªÈÃÄãµÄ´úÂëÔÚÆäËûµÄƽ̨ÉÏʹÓá£ÄÇôÄãÖ»ÒªÔÚ±àÒëµÄʱºòÐÞ¸Äһϸ½´øµÄÓï¾ä¡£½«ÓÐ¹ØÆ½Ì¨µÄ²ÎÊý¸Ä±äһϾͿÉÒÔÁË¡£¶ÔÓÚ´úÂ룬ֻҪûÓÐʹÓÃÔÚÌØ¶¨Æ½Ì¨ÏµĹ¦ÄÜ£¬¾ÍÄܲ»Ð޸ĴúÂëÖ±½ÓʹÓᣵ±È»£¬wxWindows²»Ö»ÊǶԸ÷¸ö²Ù×÷ϵͳÓÐÖ§³Ö¡£ÓÉÓÚËüÊÇOpenSourceµÄ¡£ËùÒÔ£¬Í¨³££¬ÆäËû·ÇC++ÓïÑÔÒ²»áʹÓÃËüµÄ¡£±ÈÈç wxPython¾ÍÊÇwxWindows¶ÔPythonµÄ°æ±¾¡£wxPerlÊǶÔPerlµÄ°æ±¾¡£ÔÚÕâЩ²»Í¬µÄÓïÑÔÖеÄwxWindows£¬Á¦Çó±£³ÖËüÔÓеıà³Ì·ç¸ñºÍ˼·£¬¶øÇÒËûÃÇÒ²×öµ½ÁË¡£ËùÒÔ£¬Äã»áwxWindows¾ÍµÈÓÚ»áÁËwxPython,wxPerl¡£Ëµµ½ÕâÀÎÒÏë˵һЩÌâÍâ»°¡£ÎÒÒ²ÓÃpython+wxPython×öһЩ×ÀÃæµÄÐ¡Íæ¾ß£¬²»½öÈç´Ë£¬ÔÚÎÒÒªÓÃwxWindows¿ª·¢½çÃæµÄʱºò£¬»áʹÓÃwxPythonÏÈÊÂÏÈдºÃ½çÃæµÄ´úÂ롣Ȼºó£¬È·¶¨ºÃºó£¬ÔÙ»úеµÄ¹àµ½ÎÒµÄC++´úÂëÖС£ÓÉÓÚPythonÊǽâÊÍÐÔÓïÑÔ£¬ËùÒÔÓëC++Ïà±ÈÉÙÁ˱àÒ룬Á¬½ÓµÄ¿ª·¢ÖÜÆÚ¡£Ð´Íê´úÂëÖ±½ÓÔËÐоͿÉÒÔÁË¡£ËùÒÔ£¬½ÚÊ¡Á˲»ÉٵĿª·¢Ê±¼ä¡£ÕⲻʧΪһÖÖ¼õÉÙ¿ª·¢ÖÜÆÚ£¬¼Ó¿ì¿ª·¢Ëٶȵĺ÷½·¨¡£ÏÂÃæÎÒÃÇÀ´¿´¿´wxPythonºÍwxWindowsÔÚʵÏÖÏàͬ¹¦ÄÜÉÏÓжà´óµÄÏàͬ¡£ //C++ Source #include <wx/wx.h>
class MainApp:public wxApp { public: virtual bool OnInit(void); private: wxFrame *mainFrame; }; IMPLEMENT_APP(MainApp)
bool MainApp::OnInit(void) { mainFrame = new wxFrame((wxFrame*) NULL,-1,"Hello wxWindows"); mainFrame->Show(TRUE); SetTopWindow(mainFrame); return TRUE; }
#Python Source from wxPython.wx import *
class MainApp(wxApp): def OnInit(self): mainFrame=wxFrame(NULL,-1,"Hello wxWindows") mainFrame.Show(true) self.SetTopWindow(mainFrame) return true app=MainApp(0) app.MainLoop()
´ÓÉÏÃæµÄ´úÂ룬ÎÒÃÇ¿ÉÒÔ¿´µ½¡£¶ÔÓÚwxWindowsºÍwxPythonµÄ½çÃæÊµÏÖ·½·¨¼¸ºõÊÇÏàͬµÄ¡£²»Í¬µÄÖ»ÊÇÔÚÓйرäÁ¿µÄÉùÃ÷£¬ºÍC++ÓëPython×ÔÉíµÄÓï·¨²»Í¬¡£ ½ÓÏÂÀ´£¬ËµËµwxWindowsÖ§³ÖµÄC++µÄIDE»·¾³¡£¼ÈÈ»Borland C++BuildXÒѾʹÓÃÁËwxWindowsÄÇôBorlandµÄC++±àÒëÆ÷Ó¦¸ÃÖ§³Ö°É¡£Æäʵ£¬ÊÂʵҲÊÇÈç´Ë¡£Borland C++ 4.5ºÍ5.0¶¼Ö§³Ö¡£¶ÔÓÚʹÓÃ×î¹ãµÄVCµÄIDE»·¾³×ÔȻҲ±ØÐëÖ§³ÖÁË¡£Ö§³ÖµÄÓÐ1.5,4.0,5.0ºÍ6.0¡£µ±È»£¬Æäʵ.NetÏÂÒ²¿ÉÒÔʹÓÃwxWindows¡£ÖÁÉÙÎÒʹÓÃÏÂÀ´Ã»ÓÐÎÊÌâ¡£ÁíÍ⣬ʹÓÃGCCµÄDev-CPPÒ²¶ÔËüÓкܺõÄÖ§³Ö£¬ÉõÖÁ»¹ÎªwxWindowsרÃÅ´òÁËÒ»¸ö°ü¡£Ö±½ÓʹÓÃDev-CPPµÄ°ü¹ÜÀí¾Í¿ÉÒÔ°²×°²¢Ê¹ÓÃÁË¡£ÒÔÉÏÖ»ÊÇһЩ¿ÉÒÔʹÓÃwxWindowsµÄIDE»·¾³£¬»¹Óкܶ࣬Ôڴ˲»Ò»Ò»½éÉÜÁË¡£Óйظü¶àµÄ½éÉÜ£¬¿ÉÒÔ¿´¿´wxWindowsµÄ×Ô´øÎĵµ£¬ÔÚÀïÃæÓÐÏêϸµÄ½éÉܺͶÔÓÚ²»Í¬»·¾³µÄ°²×°·½·¨¡£ ¶ÔÓÚwxWindowsÖÐÖµµÃ³ÆÔÞµÄÊÇËüµÄ˵Ã÷Îĵµ¡£¿ÉÒÔÕâÑù˵£¬ËüµÄ×Ô´øµÄÎĵµ´Ó½Ì³Ìµ½²éѯÎĵµÒ»Ó¦¾ãÈ«¡£ÒªÖªµÀ£¬×÷Ϊһ¸ö¿ªÔ´ÏîÄ¿£¬Ãâ·Ñά»¤µÄÏîÄ¿£¬ÎĵµÄܹ»Èç´ËÏêϸºÍÍêÕûÕæÊÇÄѵá£ËùÒÔ£¬ÔÚûÓÐÖÐÎÄÎĵµµÄʱºò£¬ÎÒ¾ÍÊÇÔĶÁÕâЩӢÎÄÎĵµÀ´Ñ§Ï°µÄ¡£¶øÇÒ£¬Ö±µ½ÏÖÔÚ£¬ÎÒÿ´Î¿´ÕâЩÎĵµµÄʱºò¶¼»áÓÐÐí¶àеĸÐÎò¡£¶øÇÒ£¬ÁíÒ»¸öÖµµÃ˵Ã÷µÄÊÇ£¬wxWindows 2.4.0,wxWindows 2.4.1µÈÕâЩ²»Í¬°æ±¾µÄwxWindowsËäȻ֮¼äÓкܶàµÄ¸Ä½ø¡£µ«ÊÇ£¬Ê¹ÓõĽéÉÜÎĵµµÈ¼¸ºõûÓиı䡣ÕâÒ²Õý˵Ã÷ÁËËüÓï·¨µÄÎȶ¨¡£²»ÖÁÓÚÒ»¸öеİ汾»áÔì³É¹ýÈ¥´úÂëµÄ²»¿ÉÓá£ËùÒÔ£¬ÄãÍêÈ«²»Óõ£ÐÄÄãµÄ´úÂëÓÉÓÚ°æ±¾µÄÎÊÌ⣬»áÔì³ÉËûÈËÔÚÔĶÁºÍ±àÒëÉϵÄÀ§ÄÑ¡£ ¶ÔÓÚ£¬¶àƽ̨µÄÔËÐлúÖÆ¡£ÎÒÏëÎÒÒ²Òª¼òµ¥½éÉÜһϡ£±Ï¾¹ÎÒÏëÕâ¸öÒ²ÊÇÎÒÃÇÐèÒª¹Ø×¢µÄÎÊÌâ¡£Èç¹û£¬Äã×Ðϸ¿´¿´wxWindowsµÄinclude/wxĿ¼£¬Äã»á¿´µ½ÓÐÖîÈç msw unix µÈĿ¼¡£Æäʵ£¬ÔÚÄãµ¼ÈëwxWindowsÎļþµÄʱºò£¬wxWindows»á¸ü¾ß²»Í¬µÄƽ̨ѡÔñ²»Í¬µÄÎļþ¡£ÏÂÃæÊÇinclude/wx/button.hÖÐ63ÐеÄÒ»¶Î´úÂë¡£
#if defined(__WXUNIVERSAL__) #include "wx/univ/button.h" #elif defined(__WXMSW__) #include "wx/msw/button.h" #elif defined(__WXMOTIF__) #include "wx/motif/button.h" #elif defined(__WXGTK__) #include "wx/gtk/button.h" #elif defined(__WXMAC__) #include "wx/mac/button.h" #elif defined(__WXPM__) #include "wx/os2/button.h" #elif defined(__WXSTUBS__) #include "wx/stubs/button.h" #endif
ÓÉÉÏÃæµÄ´úÂ룬¿ÉÒÔ¿´µ½£¬Èç¹ûÄãÏò±àÒëÆ÷´«Ë͵ÄÊÇ__WXMSW__µÄʱºò£¬button.h»á´ÓmswÎļþ¼ÐÖмÌÐøµ¼Èëbutton.h¡£Õâ¾ÍÊÇwxWindowsÖ§³Ö¶àƽ̨µÄ·½·¨¡£ËùÒÔ£¬wxWindowsµÄÔËÐлúÖÆ£¬¸üÏñÊÇÒ»¸ö½âÊÍÆ÷µÄÔËÐлúÖÆ¡£²»ÂÛÆ½Ì¨ÈçºÎ¸Ä±ä£¬±àдµÄÈËÎÞÐ迼ÂÇÆ½Ì¨µÄÎÊÌ⣬½âÊÍÆ÷»á¸ü¾ß²»Í¬µÄƽ̨£¬½«ÏàͬµÄ´úÂëת»»³É²»Í¬µÄÃüÁî¡£ µ±È»£¬ÊÀ½çÉϵÄÈκÎÊÂÎï¶¼ÊÇÓÉÁ½ÃæÐԵģ¬ÏñwxWindowsÒ²ÓÐËüµÄȱµã¡£Ê×ÏÈ£¬Ê¹ÓÃwxWindowsµÄ½çÃæ£¬ÍùÍùÌå»ý±È½Ï´ó£¬»ù±¾ÔÚ1MÒÔÉÏ¡£¶øÇÒ£¬»áËæ½çÃæµÄ¸´ÔÓ¶øÉÏÉý¡£²»¹ý£¬ÕâÖ÷Ҫȡ¾öÓÚÄãʹÓõÄÍ·ÎļþµÄ¶àÉÙ¡£Í¨³£²»»áÓÐÍ»±äµÄÇé¿ö¡£µ±È»£¬ÕâÒ²²»ÊDz»¿ÉÒԸıäµÄ¡£Èç¹ûÓÃZIPµÈѹËõÒ»ÏµĻ°£¬Í¨³£¶¼»áÖ»ÓÐÔÀ´µÄ50%»òÕ߸üµÍ30%ÎÒÏñ£¬Õâ»òÐíÊÇÈ¡¾öÓÚ±àÒëÆ÷ºÍ´úÂë×ÔÉíµÄÎÊÌâ¡£Ó¦¸Ã¿ÉÒÔ½â¾öµÄ¡£ÁíÍ⣬wxWindowsµÄ¼ò»¯Ò²»á¸øÊ¹ÓõÄÈË´øÀ´²»ÉÙµÄÂé·³¡£±ÈÈ磺
wxNotebook *p_note = new wxNotebook(frame,-1); p_note->AddPage(new wxPanel(frame,-1),"1"); p_note->AddPage(new wxPanel(frame,-1),"2"); p_note->DeletPage(0);
Èç¹û£¬ÄãûÓÐʹÓùý»òÕ߸ÕʹÓÃwxWindows£¬Ò»¶¨»áÒÔΪÕâ¸ö´úÂë»áÔì³ÉÄÚ´æÐ¹Â©¡£ÒòΪ£¬Ã»ÓÐÏÔʽɾ³ýnewÉú³ÉµÄÄÚ´æ¿Õ¼ä¡£×î³õÎÒÒ²ÊÇÕâÑùÏëµÄ£¬µ«ÊǺóÀ´²Å·¢ÏÖ¡£wxWindows»á×Ô¶¯ÎªÄãÔÚDeletPage(0)ʱɾ³ýnewÕ¼ÓõĿռ䡣¶ÔÓÚÓùßC++µÄÈËÀ´Ëµ£¬ÕâµÄÈ·»áÔì³ÉһЩ»ìÂÒ¡£²»¹ý£¬ÕâÒ²ÊÇwxWindowsµÄºÃÐı»ÈËÎó½âÁ˰ɡ£×îºóµÄÎÊÌâÊÇwxWindowsÔÚijЩ·½ÃæµÄ²»Áé»î¡£±ÈÈ磬ҪÉè¼ÆÒ»¸ö²»¹æÔòµÄ´°¿Ú¾Í¼¸ºõÊDz»Ì«¿ÉÄܵġ£¶øÇÒ£¬²»ÈçwxTextCtrlÖеÄÓÒ¼ü²Ëµ¥ÊÇÓ¢Îĵģ¬ÐÞ¸ÄËûµÄÈ·Ò²ÓÐЩÂé·³¡£ÒÔÉÏÊÇÎÒʹÓÃwxWindowsʱ·¢ÏÖµÄһЩÎÊÌâ¡£²»¹ý£¬¼ÈÈ»BorlandʹÓÃÁËwxWindows¡£ÎÒÏëwxWindows»áÔ½À´Ô½¸üÍêÉÆµÄ¡£ ×îºó£¬¸Ðл¸÷λµÄÔĶÁ¡£Ï£Íû¸÷λǰ±²ÄÜΪСÉúµÄÎÄÕ¶à¶àÖ¸½Ì¡£ÎÒÏëÒÔºówxWindows²»Ö»ÊÇC++BuildXµÄרÀû¡£ÄãÒ²¿ÉÒÔÔÚÄãϲ»¶µÄIDEÖÐʹÓÃwxWindows¡£
STUDIOÈí¼þ¿ª·¢×é Õ¾³¤£º±±¶·ÐǾý£¨»ÆâÔ¿ý£©
|