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 :

Composant dont �v�nement n'est pas publi�


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Par d�faut Composant dont �v�nement n'est pas publi�
    Bonjour,

    j'utilise un composant de la JVCL (mais en fait �a n'a pas grande importance) et malheureusement les �v�nements onMouseEnter et onMouseleave ne sont pas publi�s...
    Me voil� bien emb�t�e... comment est ce que je dois faire pour que mon composant r�agisse lorsque la souris passe dessus ???

    merci...
    Pascale38

  2. #2
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Il te faudrait toi m�me le g�rer avec les Message WM_MOUSE_MOVE ... en s'inspirant de composant comme le TSpeedButton (c'est calcul� � la main) si c'est un TGraphicControl

    Sinon, TrackMouseEvent, si ton Control est un TWinControl, tu utilises son Handle comme valeur de hwndTrack
    Lors la souris quittera le TWinControl, cela produira un WM_MOUSEHOVER ou WM_MOUSELEAVE selon ce que tu as demand� � TrackMouseEvent
    Cela fonctionne tr�s bien, je l'ai utilis� pour Hint HTML, lorsque la souris ne survole plus ce Hint, cela le ferme la fen�tre automatiquement, en Delphi 6, OnMouseLeave n'existait pas dans une TForm (ce qui existe depuis au moins 2007)
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Par d�faut
    Je ne sais pas de quel type est mon composant, c'est un TJvRollOut, je suppose que c'est un TGraphicControl??
    Je vais regarder ce TSpeedButton, je trouve des posts sur le sujet dans le forum?

    merci,
    Pascale38

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Par d�faut
    heu je reviens vers toi :
    en s'inspirant de composant comme le TSpeedButton (c'est calcul� � la main) si c'est un TGraphicControl
    pourrais tu d�velopper un peu ou me dire o� je peux trouver des infos ?
    Parce que l� je s�che....

    merci !!!
    Pascale38

  5. #5
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Il semble que TJvRollOut h�rite de TJvCustomPanel qui de TWinControl, as-tu regard� TrackMouseEvent pour que Windows produise un WM_MOUSELEAVE qui te permettrait d'appeler qui provoquera un CM_MOUSELEAVE qui lui m�me provoquera un OnMouseLeave ?

    En th�orie, le TWinControl g�re lui TrackMouseEvent dans sa WndProc, si tu as une version r�cente, tu n'as qu'a publier !

    Pense que la JVCL est compatible avec plusieurs versions de Delphi (il faudrait jouer avec des directives en fonction de la version de Delphi qui supporte ou pas OnMouseLeave)

    As-tu juste essay� de publier OnMouseLeave et OnMouseEnter dans une classe h�rit�e de TJvRollOut pour voir ce que cela donnait ?
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. R�ponses: 11
    Dernier message: 08/04/2009, 13h29
  2. R�ponses: 4
    Dernier message: 01/08/2007, 15h45
  3. donner le focus sur un composant dont la fenetre est invisib
    Par yoghisan dans le forum Composants VCL
    R�ponses: 12
    Dernier message: 17/06/2005, 16h27

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