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 :

Liste transparente de boutons.


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut Liste transparente de boutons.
    Bonjour,
    Je cherche a créer une liste au fond transparent et pouvant contenir des boutons images.
    J'ai d'ors et deja trouvé pour le fond transparent mais pas pour la liste de boutons (ou de TImage au pire).

    TListBox fond transparent

    Ma question est certainement "bete" mais... je n'y arrive pas. Merci a vous tous.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    En dérivant de TComponent.
    Cet objet sera donc propriétaire des boutons.
    Il suffit de lui rajouter une nouvelle propriété Parent qu'il affectera aux objets dont il est propriétaire.

    Ca peut ressembler à ça :

    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
     
    class jInvisibleObject : public TComponent
    {
    private :
    TWinControl *FParent;
     
    protected :
       void __fastcall SetParent(TWinControl *Value);
     
    public :
        __fastcall jInvisibleObject(TComponent *AOwner);
        __fastcall ~jInvisibleObject();
     
    __property TWinControl* Parent={read=FParent, write=SetParent}; 
    };
    Pour les méthodes :

    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
     
    __fastcall jInvisibleObject::jInvisibleObject(TComponent *AOwner)
        : TComponent(AOwner)
    {
    if(AOwner->InheritsFrom(__classid(TWinControl)))
        {
        FParent = (TWinControl*)AOwner;
        }
    }
     
    __fastcall jInvisibleObject::~jInvisibleObject() 
    {
    }
     
    void __fastcall jInvisibleObject::SetParent(TWinControl *Value)
    {
    if((FParent != Value) && (Value != NULL))
        {
        FParent = Value;
        for(int j = 0; j < ComponentCount; j++)
            {
            if(Components[j]->InheritsFrom(__classid(TControl)))
                {
                ((TControl*)Components[j])->Parent = Value;
                }
            }
        }
    }
    Donc à l'usage, on crée un objet jInvisibleObject en lui passant une form comme propriétaire.
    Cette form devient son parent virtuel par défaut (TComponent n'a pas de Parent, au niveau VCL).
    Tous les boutons sont ensuite créés en ayant comme propriétaire cet objet jInvisibleObject.
    On peut éventuellement les créer dans le constructeur (on fait comme on veut ...).
    Il suffira donc (en vrac) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    jInvisibleObject *InvisibleObject;
     
    InvisibleObject = new jInvisibleObject(this); // this est une form
     
    TButton *Button = new TButton(InvisibleObject);
     
    //Pour modifier le parent de tous les objets détenus
    InvisibleObject->Parent = ...; // un dérivé de TWinControl


    A plus !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    C'est parfait... Merci beaucoup. cela fonctionne parfaitement.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    Euuuh, re bonjour, c'est re moi lol.


    En fait, ca marche presque parfaitement. J'ai un petit souci quand même. les objets que j'ajoute se mettent les un a coté des autres et non en dessous du précédent...

    J'ai certianement oublié qq chose donc si vous pouviez m'aider une fois encore...

    Merci d'avance a tous ceux qui m'ont déjà aidé et qui m'aideront ^^

  5. #5
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut,
    il faut que tu redéfinisse le Left et le Top de chaque bouton pour qu'ils s'affichent comme tu le souhaite

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    effectivement... comment ni ai-je pas penser??? Merci beaucoup...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [D7] Affichage liste sur survol bouton.
    Par dacid dans le forum Delphi
    Réponses: 7
    Dernier message: 24/05/2007, 14h34
  2. Recupere la valeur d'une liste par un bouton
    Par megami dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 16/01/2007, 11h27
  3. [Javascript] liste deroulante sans bouton
    Par hi_vivie dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 14/06/2006, 17h53
  4. [PHP-JS] Liste déroulante et bouton
    Par pymouse dans le forum Langage
    Réponses: 5
    Dernier message: 02/05/2006, 10h37
  5. Ajout dans une liste avec un bouton
    Par Invité dans le forum Access
    Réponses: 6
    Dernier message: 07/12/2005, 08h27

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