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 :

OnMouseDown du composant parent


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
    Février 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 83
    Par défaut OnMouseDown du composant parent
    Bonjour tout le monde.

    J'ai une question plutôt pour ceux qui aiment les composants créés dynamiquement :

    J'ai une class XXX : public TPanel où j'ai un DYNAMIC void __fastcall MouseDown

    Dans la partie public : J'ai une déclaration de TImage *image;

    Lors de la création de la class XXX , j'ai bien les panels qui sont créés et lorsque je clique sur les panels : aucun problème.. J'ai une alerte qui s'affiche (ShowMessage placé dans le code de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void __fastcall XXX::MouseDown (TMouseButton Button, TShiftState Shift, int X, int Y)
    {
     
      ShowMessage(this->id);
    }
    )

    Cependant lorsque j'ai une image dans le panel, Le click ne marche plus !. Vu qu'elle vient sur le panel.

    Malgré que j'ai fais : XXX->image->OnMouseDown = XXX->OnMouseDown
    le click sur l'image ne marche pas.

    Ma question : Comment faire pour que l'image soit transparente au niveau des clicks ?

    Merci

  2. #2
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut
    Bonjour

    A mettre dans l'evenement Image1MouseDown du TImage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Panel1MouseDown(Sender, Button, Shift, 0, 0);
    A++

  3. #3
    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 !

    Ne pas confondre MouseDown et l'événement OnMouseDown qui sont deux choses distinctes !!!

    MouseDown est le mécanisme qui gère une propriété sous cette forme :

    //traitement en amont de l'appel
    if(FOnMouseDown != NULL) FOnMouseDown(this, ...);
    //et/ou traitement en aval de l'appel
    OnMouseDown est la propriété vue par l'utilisateur (public mais pas forcément published) et FOnMouseDown la propriété stockée (private) à ce stade comparable à un pointeur vers fonction.

    Pour la classe TPanel, il n'est pas nécessaire de redéfinir MouseDown puisqu'il est hérité des classes dont il dérive (en particulier de TControl) sauf si on doit y effectuer des opérations propres à cette classe.

    Dans ton cas, si cette classe reste confidentielle (un simple classe dont tu es l'unique utilisateur) dans ce cas il serait plus simple de lui déclarer une OnMouseDown et de lui affecter dans son constructeur.
    Il devient alors possible d'affecter la dite méthode à l'événement de l'image (puisque != NULL)

    A plus !

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/05/2014, 17h58
  2. [Flex4] Appel de fonction d'un composant parent à partir de l'enfant
    Par tlafont2607 dans le forum Flex
    Réponses: 2
    Dernier message: 06/09/2013, 09h58
  3. Récupérer une property d'un composant parent
    Par zooffy dans le forum ASP.NET
    Réponses: 7
    Dernier message: 16/04/2008, 12h16
  4. [onDblClick] exécuter l'évènement du composant parent
    Par xenos dans le forum Composants VCL
    Réponses: 3
    Dernier message: 15/05/2006, 13h49
  5. Composant perso disparaît lors du redimensionnement du composant parent
    Par GENERYS dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 05/10/2005, 22h07

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