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

VB 6 et antérieur Discussion :

[VB6] Menu systray qui n'apparait plus


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut [VB6] Menu systray qui n'apparait plus
    Bonjour,

    Je viens d'apporter une modification à une appli VB6 que j'avais développé il y'a quelques temps, hors depuis que j'ai ajouter sur mon formulaire principal un système d'onglets + des frames le menu contextuel sur l'icone du systray n'apparait plus...

    Je n'arrive pas à comprendre pourquoi celui-ci ne veut plus apparaitre, il semblerai que l'evenment le faisant apparaitre ne se produise plus.

    Voici quelques extraits de mon code :
    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
    29
    30
    31
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
         'cette procédure reçoit les rappels de l'icône de barre d'état système.
            Dim msg As Long
     
            If Me.ScaleMode = vbPixels Then
                msg = x
            Else
                msg = x / Screen.TwipsPerPixelX
            End If
     
     
            Select Case msg
     
                'Double Click
                Case WM_LBUTTONDBLCLK
                    Me.WindowState = vbNormal
                    Me.Visible = True
                    Me.Show
     
                'Bouton Droit
                Case WM_RBUTTONDOWN             
                        Me.PopupMenu Me.menu_systray
     
     
     
                Case WM_LBUTTONUP:
     
     
     
            End Select
    End Sub

    merci d'avance de votre aide

  2. #2
    Membre averti
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Points : 446
    Points
    446
    Par défaut
    Bonjour Vince,

    Dans ton code tu dois avoir cela si tu veux recevoir les messages.

    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
    Private Sub Hook()
      lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, AddressOf WindowProc)
    End Sub
     
    Private Function WindowProc(ByVal hw As Long, _
                                ByVal uMsg As Long, _
                                ByVal wParam As Long, _
                                ByVal lParam As Long) As Long
     
      Select Case uMsg
      Case WM_ACTIVATEAPP
      Case ...
      End Select
     
      WindowProc = CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam)
    End Function
    L'utilisation de Form_MouseMove ne peux pas fonctionner, il faut les paramétres suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ByVal hw As Long, _
    ByVal uMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long
    Dans le meilleur des cas, ton code ne fait rien, dans le pire tu risque des défaillance de pages...

  3. #3
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Merci Najdar de ta réponse,

    ce que je comprends pas c'est que cela fonctionnait avant l'ajout de l'onglet et des frames...

    Quand au code que tu m'as donné je ne sais pas trop comment l'intégrer dans mon appli...

  4. #4
    Membre averti
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Points : 446
    Points
    446
    Par défaut
    Si tu travaille avec VB6 et si parle vraiment des icones situé en bas à droite à coté de l'horloge, tu DOIS avoir dans ton code une procédure de sous-classement initiée par l'API CallWindowProc.

    Il est aussi possible que ton programme utilisait un controle faisant ce sous-classement.

    Je pense qu'il doit y avoir des mélanges dans ton code, car celui du premier message, excuse-moi, mais c'est n'importe toi

  5. #5
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Je pense qu'il y a une serie de lignes qui a été supprimée, probablement par inadvertance. Quoique la routine d'analyse de msg devrait logiquement se trouver dans un module alors qu'elle est derriere un mouse_move qui lui est formcement dans une form.
    Très bizare!

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/03/2013, 18h20
  2. Réponses: 4
    Dernier message: 29/03/2013, 17h24
  3. [XL-2007] Liste de choix qui n'apparait plus
    Par EmmanuelleC dans le forum Excel
    Réponses: 1
    Dernier message: 14/12/2010, 12h59
  4. comment faire un menu (frame) qui glisse, apparait et disparait ?
    Par clavier12AZQSWX dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/03/2010, 10h46
  5. Réponses: 1
    Dernier message: 16/06/2008, 13h06

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