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 :

Modification de l'�v�nement OnClick [Trucs & Astuces]


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    16
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 16
    Par d�faut [Resolu]Modification de l'�v�nement OnClick
    Pour les besoins de a cr�ation d'un composant, je cherches � modifier l'�v�nement OnClick. En fait je cherches, � partir du OnClick, cr�er deux nouveaux �v�nements selon que l'utilisateur cliques en haut ou en bas du composant (cr�ation des �v�nements OnClickHuat et OnClickBas). Est-ce possible ? Si oui quelle d�marche utiliser ?
    Merci � l'avance.

  2. #2
    Membre confirm�

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Par d�faut
    Je ne sais pas si c'est vraiment possible !!!

    Ne serait-il pas plus simple de creer 2 objets et de creer de onClick ???


    Je ne peux pas plus t'aider desoler

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 2
    Par d�faut
    pr�cise....

    sinon tu analyse la position de ta souris, objet Mouse, puis tu compare a une hauteur horizontale pour d�terminer si c'est en haut ou en bas

  4. #4
    Membre confirm�

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Par d�faut
    bien vu farib j'y avait pas penser

  5. #5
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    16
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 16
    Par d�faut
    Pr�cision : je voudrais que lorsque un utilisateur lambda utilise mon composant il dispose de 2 �v�nements OnClick (un pour la partie haute, l'autre pour la partie basse) au lieu du simple �v�nement OnClick.
    J'en profites pour poser une question (qui pourrais r�soudre la premi�re) : est-il possible de cr�er son propre �v�nement ?

  6. #6
    LFE
    LFE est d�connect�
    Membre Expert

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Par d�faut
    cr�er son propre evenement ... oui,.

    tu sais creer des messages sans problemes, et tu sais cr�er une fonction qui repond a ce mesage.

    par exemple

    dans la partie publique de ta classe, tu definis
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    	void virtual __fastcall FormUserRestoreApp(TMessage & Msg);
    	 BEGIN_MESSAGE_MAP
    	 MESSAGE_HANDLER(WM_USER_RESTORE, TMessage, FormUserRestoreApp)
    	 END_MESSAGE_MAP(TForm)
    et tu definis la fonction normalement.

    si j'ai bien compris ce que tu veux faire ...

  7. #7
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    16
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 16
    Par d�faut
    Merci tout de m�me LFE mais je ne pense pas que c'�tait ce que je cherchais. En fait j'ai r�ussit � cr�er un �v�nement avec TNotifyEvent.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    private:
    TNotifyEvent PMonEvenement;
    ...
    __published:
    __property TNotifyEvent OnMonEvenement  = {read=POnMonEvenement,         write=POnMonEvenement};
    Probl�me : je ne vois pas tr�s bien comment int�grer le code pour sp�cifier ce qui va d�clancher mon �v�nement (clic sur une zone de mon composant par exemple). Et encore merci � tous ceux qui me proposent des id�es.

  8. #8
    Yoh
    Yoh est d�connect�
    Membre confirm�
    Inscrit en
    Juillet 2002
    Messages
    57
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 57
    Par d�faut
    Tu as donc cr�� ton composant qui poss�de son �v�nement particulier.
    Dans le code de ta classe, si par exemple ton �v�nement se produit sur le OnClick (dans certaines conditions), tu surcharges la m�thode :


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DYNAMIC __fastcall TACLASSE::DoClick(void)
    {
       // rappelle la méthode DoClick() de ta classe de base si besoin
      ....
     
      if (/*besoin d'appeler mon évènement spécifique*/)
      {
          if (POnMonEvenement != NULL)
              POnMonEvenement();
      }
    }

    voil�, j'esp�re que j'ai �t� clair.

  9. #9
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    16
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 16
    Par d�faut
    Tr�s clair ! Cependant je n'arrive pas � rapeller la m�thode DoClick(). Par ailleurs une petite correction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if (OnMonEvenement != NULL) 
              OnMonEvenement(this);
    Enfin � quoi sert l'attribut DYNAMIC (le compilateur n'en veut pas) ?
    Merci toute fois de m'avoir d�bloquer.

  10. #10
    Yoh
    Yoh est d�connect�
    Membre confirm�
    Inscrit en
    Juillet 2002
    Messages
    57
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 57
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if (OnMonEvenement != NULL) 
              OnMonEvenement(this);
    J'�crivais POnMonEvenement car c'�tait le nom de ta variable membre de ta classe.

    Enfin � quoi sert l'attribut DYNAMIC (le compilateur n'en veut pas) ?
    Merci toute fois de m'avoir d�bloquer.

    DYNAMIC est synonyme de virtual mais c'est propre � Borland.

    Dans le .h :
    DYNAMIC void __fastcall DoClick(void);

    .cpp :
    void __fastcall DoClick(void);

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 21/07/2006, 13h15
  2. Pb Cr�ation �v�nement OnClick
    Par BigMike dans le forum C++Builder
    R�ponses: 10
    Dernier message: 26/06/2006, 15h47
  3. �v�nement onclick intempestif d'1 TMenuItem
    Par OutOfRange dans le forum Delphi
    R�ponses: 6
    Dernier message: 22/06/2006, 20h46
  4. Changement dynamique de l'�v�nement OnClick
    Par cluis dans le forum Access
    R�ponses: 3
    Dernier message: 22/03/2006, 11h30
  5. Erreur avec l'�v�nement OnClick de ListView
    Par xenos dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 21/03/2006, 14h54

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