IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Regrouper ses ev�nements et ses composants


Sujet :

C++Builder

  1. #1
    Membre exp�riment�
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2012
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 164
    Par d�faut Regrouper ses ev�nements et ses composants
    Comment vous faites �a?

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut
    il y a beaucoup plus simple, la VCL est beaucoup plus puissante que tu ne l'immagine

    pour des raisons de simplicit� j'ai regroup� les checkbox dans une goupBox

    toutes ces checkBox sont donc des enfants de cette groupeBox et sont �galement dynamiquent construites lors de la construction du composant GroupBox
    lors de la destruction du composant tous les enfants sont �galement d�truits

    les enfants sont stock� dans une liste dynamique que l'on peut modifier dynamiquent, --> pas besoin d'un tableau statique

    un petit exemple qui te permettra de comprendre cette approche

    ma form comtient
    3 Boutons
    Check,Uncheck,All
    1 ComboBox permettant de s�lectioner la checkBox � activer
    1 GroupBox contenant 6 checkBox

    le code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
     
    //le.h
    #ifndef Unit72H
    #define Unit72H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    //---------------------------------------------------------------------------
    class TForm72 : public TForm
    {
    __published:	// Composants gérés par l'EDI
    	TGroupBox *Gb;
    	TComboBox *ComboBox1;
    	TButton *Button1;
    	TButton *Button2;
    	TButton *Button3;
    	TCheckBox *CheckBox1;
    	TCheckBox *CheckBox2;
    	TCheckBox *CheckBox3;
    	TCheckBox *CheckBox4;
    	TCheckBox *CheckBox5;
    	TCheckBox *CheckBox6;
    	void __fastcall Button1Click(TObject *Sender);
    	void __fastcall Button2Click(TObject *Sender);
    	void __fastcall Button3Click(TObject *Sender);
    private:	// Déclarations utilisateur
    public:		// Déclarations utilisateur
    	__fastcall TForm72(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm72 *Form72;
    //---------------------------------------------------------------------------
    #endif
     
    //le cpp
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit72.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm72 *Form72;
     
    __fastcall TForm72::TForm72(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm72::Button1Click(TObject *Sender)
    {
       // bouton Check
       try
       {
    	dynamic_cast <TCheckBox*>(Gb->Controls[StrToInt(ComboBox1->Items->operator [](ComboBox1->ItemIndex))-1])->Checked=true;
    	}
    	catch (EConvertError &E)
    	{
     
    	}
     
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm72::Button2Click(TObject *Sender)
    {
       // bouton UnCheck
       try
       {
    	dynamic_cast <TCheckBox*>(Gb->Controls[StrToInt(ComboBox1->Items->operator [](ComboBox1->ItemIndex))-1])->Checked=false;
    	}
    	catch (EConvertError &E)
    	{
     
    	}
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm72::Button3Click(TObject *Sender)
    {
    	// bouton All
       for (int n=0; n <Gb->ControlCount; n++) {
    	 dynamic_cast <TCheckBox*>(Gb->Controls[n])->Checked=true;
       }
    }
    //---------------------------------------------------------------------------
    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  3. #3
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut
    concernant ton exemple Regrouper ses �v�nements, part II
    on peut �galememt profiter de la puissance de la VCL
    Pour ce faire le gestionnaire onClick de tous les boutonjs est le M�me
    (il Suffit de s�lectionner tous les boutons et de renommer le gestionnaire On click)

    code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    // gestionnaire commun à tous les boutons
    void __fastcall TForm72::ButtonClick(TObject *Sender)
    {
    	Edit1->Text="J'ai clické sur le Bouton "+dynamic_cast<TButton*>(Sender)->Caption;
    }
    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

Discussions similaires

  1. Ev�nement d'un composant int�gr� dans un autre
    Par Papy214 dans le forum Composants FMX
    R�ponses: 3
    Dernier message: 14/02/2013, 15h48
  2. Ev�nement MouseClick sur composant perso
    Par Tomcat31 dans le forum C#
    R�ponses: 5
    Dernier message: 14/12/2012, 14h40
  3. XenDesktop, ses atouts et ses limites
    Par doumlee dans le forum Virtualisation
    R�ponses: 1
    Dernier message: 09/11/2011, 20h55
  4. Ev�nement d'un composant COM
    Par DR dans le forum C++Builder
    R�ponses: 4
    Dernier message: 28/09/2007, 14h54
  5. R�ponses: 9
    Dernier message: 29/01/2007, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo