ouned-coding | manson69 a écrit :
Vous n'auriez pas un exemple de code (qui utilise le frameworks wxWidgets) avec une fenetre déjà faite pour que je vois comment ca marche.
Merci.
|
Si bien sur, regarde :
Citation :
Code :
- #ifndef WX_PRECOMP
- #include <wx/wx.h>
- #endif
- #include "wx/wxprec.h"
- // declaration
- class base_app: public wxApp {
-
- public:
- base_app();
-
- virtual bool OnInit( );
- virtual int OnExit( );
-
- int get_hsize( );
- int get_vsize( );
- private:
- int hsize, vsize;
- };
- class frame_principale: public wxFrame {
-
- public:
- frame_principale( wxWindow *parent, wxWindowID id, const wxString &title,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_FRAME_STYLE );
- ~frame_principale( );
-
-
- private:
-
- wxMenuBar *menubar;
- wxMenu *menu_fichier, *menu_aide;
-
- void create_menubar();
-
- void on_quit( wxCommandEvent & );
- void on_about( wxCommandEvent & );
-
- DECLARE_EVENT_TABLE( )
- };
- enum {
- MENU_FICHIER_QUITTER,
- MENU_AIDE_APROPOS
- };
- // implementation de la base de l'application
- DECLARE_APP( base_app )
- base_app::base_app( ) {
-
- hsize = wxGetDisplaySize().x;
- vsize = wxGetDisplaySize().y;
- }
- bool base_app::OnInit( ) {
-
- frame_principale *frame = new frame_principale( NULL, -1, "Titre de ton Application", wxPoint(20,20), wxSize(get_hsize() - 200, get_vsize() - 200) );
- frame->Show( TRUE );
- SetTopWindow( frame );
-
- return TRUE;
- }
- int base_app::OnExit( ) {
-
- return 0;
- }
- int base_app::get_hsize( ) {
-
- return hsize;
- }
- int base_app::get_vsize( ) {
-
- return vsize;
- }
- // implementation de la fenetre principale
- BEGIN_EVENT_TABLE( frame_principale, wxFrame )
- EVT_MENU( MENU_FICHIER_QUITTER_QUIT, frame_principale::on_quit )
- EVT_MENU( MENU_AIDE_APROPOS, frame_principale::on_about )
- END_EVENT_TABLE( )
- frame_principale::frame_principale( wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style )
- : wxFrame( parent, id, title, position, size, style ) {
-
- create_menubar( );
- }
- frame_principale::~frame_principale( ) { }
- void frame_principale::create_menubar( ) {
-
- menu_fichier = new wxMenu;
- menu_fichier->Append( MENU_FICHIER_QUITTER, "&Quitter" );
-
- menu_aide = new wxMenu;
- menu_aide->Append( MENU_AIDE_APROPOS, "&About" );
-
- menubar = new wxMenuBar;
- menubar->Append( menu_fichier, "&Fichier" );
- menubar->Append( menu_aide, "&Aide" );
-
- SetMenuBar( menubar );
- }
- void frame_principale::on_about( wxCommandEvent &event ) {
-
- wxMessageBox( "La boite A PROPOS de ton application", "A propos..." );
- }
- void frame_principale::on_quit( wxCommandEvent &event ) {
-
- Close( TRUE );
- }
|
|
et si par la suite tu veux pouvoir insérer, enfin ca ce n'est pas trop le probleme, mais insérer + 'positionner' des controls, une solution s'offre a toi > cf. topic wxWidgets->wxBoxSizer
Voici l'url pour télécharger le framework, http://www.wxwidgets.org/, par contre si tu utilise Dev-Cpp, il me semble qu'il existe un paquet de wxWindow mais version 2.4.* sinon tu devras installer la derniere version de wxWindow à la main. Message édité par ouned-coding le 30-12-2004 à 13:20:44
|