#1 

08-07-2012 19:13:16

johnplayer
Membres
Avatar de johnplayer
Date d'inscription:
Messages: 431
IP: 83.192.86.27
Courriel

J'avais dit que je ferais une classe BoutonRadio et un systeme équivalent à une groupBox, c'est fait!

Voici les deux images nécessaires pour l'affichage des boutons radios :
BoutonRadioContour.png
BoutonRadioCentre.png

Voici la classe BoutonRadio :





GUI_ButtonRadio.hGUI_ButtonRadio.cppGUI_ButtonRadioControl.hGUI_ButtonRadioControl.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef GUI_BUTTONRADIO_H
#define GUI_BUTTONRADIO_H

#include "IGUIElement.h"
#include "IGUIImage.h"
#include "IGUIStaticText.h"
#include "ITexture.h"

using namespace irr;
using namespace gui;
using namespace core;
using namespace video;

/**
Utilisation :

    #include "GUI_ButtonRadio.h"

    /// création
    ButtonRadio *BRadio0 = new ButtonRadio(mGUI, position2di(25,25), mTab1, L"../MEDIAS/Systeme/GUI/", false);

    /// destruction
    BRadio->remove();

    Il s'utilisent plus fréquemment avec ButtonRadioControl
**/

class ButtonRadio : public IGUIElement
{
    public:
        ButtonRadio(IGUIEnvironment *GUI, position2di position=position2di(0,0), IGUIElement *parent=NULL, const wchar_t* pathImage=0, bool selected=false);
        virtual ~ButtonRadio();
        bool OnEvent(const SEvent& event);

        //! se détache de son parent et se détruit
        void remove();
        //! mets le bouton radio dans l'état voulu
        void setSelected(bool selected);
        //! renvoie l'état du bouton radio
        bool isSelected();

    protected:
        bool Checked;
        IGUIImage *IContour, *ICentre;

        bool Pressed;

    private:
        static int compteurInstance;
        static ITexture *TContour;
        static ITexture *TCentre;
};

#endif // GUI_BUTTONRADIO_H

Voilà, rien de bien compliqué mais ça peut être utile.
A plus!


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#2 

12-07-2012 09:08:43

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 90.5.173.150
Courriel  Site web

sympas, merci pour le partage wink

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
169 invités en ligne
membre en ligne: -
RSS Feed