Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 4


|
Menu Snippets (navigation): |
Détails du snippet : Les différents type de bouton |
Informations sur l'auteur de ce snippet : | |

Hors ligne
| Warzer (Membre)
Inscrit le : 05-10-2007
Messages: 284
Snippets: 4
Tutoriels: 0
|
Introduction / Description : | |
Bonjour, Je vais dans ce snippet vous expliquer le fonctionnement des différents boutons. Je vais essayer de rentrer dans le détaille pour que vous sachiez correctement les utiliser.
Le code à mettre dans le .h
Code wxWidgets: #include <wx/wx.h> /*Pour utiliser wxWidgets*/ #include <wx/button.h> /*Pour le bouton normal*/ #include <wx/tglbtn.h> /*Pour le Toggle Bouton*/ #include <wx/bmpbuttn.h> /*Pour le bitmap bouton*/ class wxControlFrame: public wxFrame { public: wxControlFrame(wxFrame *frame, const wxString& title); ~wxControlFrame(){}; private: void OnClose(wxCloseEvent& event); void OnBouton1(wxCommandEvent& event); void OnToggleBouton(wxCommandEvent& event); void OnBitmapBouton(wxCommandEvent& event); static const int m_bouton1ID,m_toggleBoutonID,m_bitmapBoutonID; wxButton *m_bouton1; wxToggleButton *m_toggleBouton; wxBitmapButton *m_bitmapBouton; DECLARE_EVENT_TABLE() }; Et voilà le code à mettre dans le .cpp
Code wxWidgets: const int wxControlFrame::m_bouton1ID = wxNewId(); const int wxControlFrame::m_toggleBoutonID = wxNewId(); const int wxControlFrame::m_bitmapBoutonID = wxNewId(); BEGIN_EVENT_TABLE(wxControlFrame, wxFrame) EVT_CLOSE(wxControlFrame::OnClose) EVT_BUTTON(m_bouton1ID, wxControlFrame::OnBouton1) EVT_BUTTON(m_toggleBoutonID , wxControlFrame::OnToggleBouton) EVT_TOGGLEBUTTON(m_toggleBoutonID, wxControlFrame::OnToggleBouton) END_EVENT_TABLE() wxControlFrame::wxControlFrame(wxFrame *frame, const wxString& title) : wxFrame(frame, -1, title) { wxInitAllImageHandlers(); /*Sert pour l'image du BitmapButton*/ m_bouton1 = new wxButton(this, m_bouton1ID, _T("Bouton"),wxPoint(0,0)); /*Bouton normal*/ m_toggleBouton = new wxToggleButton(this, m_toggleBoutonID, _T("Bouton \224 bascule"),wxPoint(0,40)); /*Bouton à bascule*/ m_bitmapBouton = new wxBitmapButton(this,m_bitmapBoutonID,wxBitmap(wxImage(_T("./Earth.bmp"),wxBITMAP_TYPE_ANY)),wxPoint(0,80)); /*BitmapButton*/ } void wxControlFrame::OnClose(wxCloseEvent &event) { Destroy(); } void wxControlFrame::OnBouton1(wxCommandEvent& event) { wxMessageBox(_("Vous avez cliqu\351 sur un bouton !")); } void wxControlFrame::OnToggleBouton(wxCommandEvent& event) { if(m_toggleBouton->GetValue()) /*Vérifie l'état du bouton vrai si pressé sinon faux*/ wxMessageBox(_("Bouton press\351")); else wxMessageBox(_("Bouton relach\351")); } void wxControlFrame::OnBitmapBouton(wxCommandEvent& event) { wxMessageBox(_("Le monde est \224 vous !")); }
Au niveau des arguments c'est toujours les mêmes, le premier est la fenêtre où vous voulez l'afficher donc ici this c'est sur la fenêtre dans laquelle vous le faite, le deuxième c'est l'ID du bouton ensuite pour les 2 premiers c'est le texte qu'il y aura affiché dessus et pour le Bitmap bouton, c'est l'image à afficher et wxBITMAP_TYPE_ANY correspond au type d'image que vous voulez chargé donc ici je l'ai ai toute mise au cas ou. Aussi wxInitAllImageHandlers(); sert à utiliser les images si vous ne le mettez pas ça ne marchera pas. Bien, j'espère que c'est assez claire, ces classes sont assez simple à utiliser j'ai mit des petits exemples simple d'appel de fonction pour que vous puissiez essayer et voir par vous même. Pour plus d'informations rendez-vous sur la doc officiel : wxButtonwxToggleButtonwxBitmapButtonps : si vous trouvez des fautes d'orthographe ou de code signalez le moi et je modifierai en conséquence (je suis pas très à l'aise avec l'orthographe ^^)
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Bonne idée : ça pourra être très utile. Par contre, fais gaffe, car entre les images et les exemples pour chaque contrôle, ça va vite devenir un maxi snippet.
Bon courage, en tout cas.
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Warzer (Membre)
Inscrit le : 05-10-2007
Messages: 284
Snippets: 4
Tutoriels: 0
Hors ligne |
Il vaudrai mieux que j'en fasse plusieurs et que je regroupe les trucs qui sont semblable ce serai peut être plus clair non ? Et comme ça je pourait rentrer beaucoup plus dans le détail des différentes classe non ?
Dernière modification par Warzer (15-02-2008 12:52:22)
|
|
Menu Snippets (navigation): |
|