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 :

Création d'un composant dérivé [Non suivi]


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Points : 32
    Points
    32
    Par défaut Création d'un composant dérivé
    bonjour,
    je souhaite dériver la classe TsuiDBNavigator pour lui rajouter des boutons perso comme un bouton pour imprimer par exemple.
    Le seul problème c'est que le tableau de bouton est défini protected comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TsuiNavButton * Button[10];
    J'ai essayé de définir mon propre tableau de 15 boutons dans ma classe dérivée mais comme mon constructeur fait appel au constructeur de la classe de base, il ne prend en charge que les 10 boutons et donc par conséquent, mes boutons ne sont pas ajoutés à la barre de navigation.
    Quelqu'un aurait une idée par hasard pour que je puisse redimensionner ce tableau de boutons ??
    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Points : 32
    Points
    32
    Par défaut
    je vais essayer d'être un peu plus clair.
    j'ai une classe de base TsuiDBNavigator:
    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
     
    class PASCALIMPLEMENTATION TsuiDBNavigator : public Extctrls::TCustomPanel 
    {
    	typedef Extctrls::TCustomPanel inherited;
     
    private:
     //méthodes et propriétés privées la classe de base	
    protected:
    	TsuiNavButton* Buttons[10];       // mon fameux tableau que je veux redimensionner et d'autres méthodes
     
    public:
    	__fastcall virtual TsuiDBNavigator(Classes::TComponent* AOwner);
    	__fastcall virtual ~TsuiDBNavigator(void);
    	virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
    	virtual void __fastcall BtnClick(Dbctrls::TNavigateBtn Index);
     
    __published:
     //toutes les propriétés du composant
     
    public:
    	#pragma option push -w-inl
    	/* TWinControl.CreateParented */ inline __fastcall TsuiDBNavigator(HWND ParentWindow) : Extctrls::TCustomPanel(ParentWindow) { }
    	#pragma option pop
     
    };
    et de l'autre côté ma classe dérivée :
    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
     
    class MyClassNav : public TsuiDBNavigator
    {
    private:	// Déclarations de l'utilisateur
        TsuiNavButton* _tabButton[25];   //mon tableau de boutons que je veux afficher
        TsuiNavButton* B_Valider;
        TsuiNavButton* B_Annuler;
        TsuiNavButton* B_Imprimer;
        TsuiNavButton* B_FirstOfAll;
        TsuiNavButton* B_PriorPage;
        TsuiNavButton* B_First;
        TsuiNavButton* B_Prior;
        TsuiNavButton* B_Next;
        TsuiNavButton* B_Last;
        TsuiNavButton* B_NextPage;
        TsuiNavButton* B_LastOfAll;
        TsuiNavButton* B_Insert;
        TsuiNavButton* B_Delete;
        TsuiNavButton* B_Refresh;
        TsuiNavButton* B_Research;
        TsuiNavButton* B_Exporter;
        TsuiNavButton* B_PriorSelection;
        TsuiNavButton* B_NextSelection;
        TToolButton* Separator1;
        TToolButton* Separator2;
        TToolButton* Separator3;
        TToolButton* Separator4;
        TToolButton* Separator5;
        TToolButton* Separator6;
     
    public:		// Déclarations de l'utilisateur
        __fastcall MyClassNav(TComponent * Owner); //constructeur faisant appel au constructeur de ma classe de base
        __fastcall ~MyClassNav(void);
        __fastcall InitButtons();     // méthode de création des boutons et affectation au tableau
        void __fastcall SetDataSource(TDataSource* Value);
        TDataSource* __fastcall GetDataSource (void);
        void __fastcall SetUIStyle (TsuiUIStyle Value);
        void __fastcall SetFileTheme (TsuiFileTheme* Value);
     
    };
    et le problème est qu'à l'execution, le constructeur de ma classe de base fabrique bien mon composant mais toujours à partir du tableau de la classe de base.
    Comment lui passer MON tableau de boutons pour la construction ?
    Je ne trouve pas de méthode de redéfiniton du tableau.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Points : 32
    Points
    32
    Par défaut
    bon ba comme j'ai pas grand nombre de réponses, je vais tenter une autre méthode en cherchant a positionner sur ma form un nouveau tableau de bouton que je gèrerai indépendemment.
    Je suis toujours preneur au cas où une idée vous viendrais à l'esprit

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello

    Et si à la place d'un tableau de 10 ou de 25 boutons, tu utilisais une liste ?? (idée à 0,30€)

    A++

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Points : 32
    Points
    32
    Par défaut
    c'est pas une mauvaise idée je vais regarder ça . Merci

Discussions similaires

  1. [D2010] Création d'un composant dérivé d'une combobox
    Par Hardarac dans le forum Composants VCL
    Réponses: 2
    Dernier message: 01/10/2010, 11h40
  2. Réponses: 2
    Dernier message: 01/02/2008, 16h55
  3. Création de composants dérivés type ToolStrip
    Par brsoft.org dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/09/2007, 20h06
  4. Création d'un composant dérivé d'un TextBox
    Par EFCAugure dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/08/2007, 08h57
  5. Création d'un composant et couleurs
    Par gibet_b dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/07/2004, 13h44

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