Événements souris sur la barre de titre

Résolu
Passepoil75 Messages postés 30 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 17 septembre 2009 - 27 mars 2009 à 16:35
Passepoil75 Messages postés 30 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 17 septembre 2009 - 3 avril 2009 à 12:43
Bonjour,

J'aimerais savoir s'il existe des événements souris (ex: MouseEnter) sur la barre de titre.

Je me suis créé une fonction récursive qui lorsque la souris entre dans le formulaire ou l'un de ces enfants, la méthode MouseEnter est appelée et lorsqu'elle quitte, la méthode MouseLeave est appelée.

Private

Sub Compteur_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load
   GestionHandler(
Me)

End
SubPrivate

Sub GestionHandler(
ByVal ctlParent
As Control)

   AddHandler ctlParent.MouseLeave,
AddressOf myMouseLeave

   AddHandler ctlParent.MouseEnter,
AddressOf myMouseEnter

   For
Each ctl
As Control
In ctlParent.Controls

      If ctl.Controls.Count > 0
Then
         GestionHandler(ctl)

   
      Else
         AddHandler ctl.MouseLeave,
AddressOf myMouseLeave

         AddHandler ctl.MouseEnter,
AddressOf myMouseEnter

      End
If
   Next
End
Sub

Alors, comment faire pour inclure la barre de titre?

Merci,

Pascal

2 réponses

Utilisateur anonyme
27 mars 2009 à 22:10
Salut,

Par le subclassing, tu peux détecter les événement mousemove et mouseleave de la bordure (barre de titre + cadre) de ton formmulaire.

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
  Const WM_NCMOUSEMOVE As Integer = &HA0
  Const WM_NCMOUSELEAVE As Integer = &H2A2
  Select Case m.Msg
    Case WM_NCMOUSEMOVE
      
' ToDo: La souris se déplace sur la bordure de la fenêtre
    Case WM_NCMOUSELEAVE
      ' ToDo: La souris quitte la bordure de la fenêtre
  End Select
  MyBase.WndProc(m)
End Sub

__________
  Kenji
3
Passepoil75 Messages postés 30 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 17 septembre 2009
3 avril 2009 à 12:43
Merci beaucoup, ça fonctionne très bien!

Pascal
0
Rejoignez-nous