Mecmec
Messages postés50Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 9 octobre 2008
-
18 sept. 2008 à 19:46
Mecmec
Messages postés50Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 9 octobre 2008
-
19 sept. 2008 à 15:24
Bonjour,
je commence par montré le script:
'Ces deux procédures permettent le déplacement de la form :
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
x0 = X
y0 = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'on interception des événements sur l'icône du systray
Select Case X
Case &H202 To &H203
me.Show
Call oSystray.DeleteIcon
Let dksSystrayButton1.Visible = False
End Select
If (Button = vbLeftButton) Then
Me.Left = Me.Left + (X - x0)
Me.Top = Me.Top + (Y - y0)
DoEvents
End If
End Sub
donc en gros, il y a un probleme avec ceci:
'on interception des événements sur l'icône du systray
Select Case X
Case &H202 To &H203
me.Show
Call oSystray.DeleteIcon
Let dksSystrayButton1.Visible = False
End Select
car quand on clique sur le systray sa ouvre la fenetre
mais sa l'ouvre pas sa bloque a cause de se script:
If (Button = vbLeftButton) Then
Me.Left = Me.Left + (X - x0)
Me.Top = Me.Top + (Y - y0)
DoEvents
End If
End Sub
comment il faudrais faire , car en gros les deux script sont surement executé quand on clique sur le systray et donc sa fait un bug, car c'est parce que il execute les deux scripts,
comment il faudrais faire avec par exemple un if ... ou autre pour que le if soit executé quand la fenetre est en cours de marche, et le systray seulement quand on clique sur le systray ?
Merci d'avance
(ps: les deux scripts font contact , c'est surement ceci qui déconne)
Mecmec
Messages postés50Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 9 octobre 2008 18 sept. 2008 à 19:52
je re-precise mieux:
'Ces deux procédures permettent le déplacement de la form :
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
x0 = X
y0 = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'on interception des événements sur l'icône du systray
Select Case X
Case &H202 To &H203
me.Show
Call oSystray.DeleteIcon
Let dksSystrayButton1.Visible = False
End Select
If (Button = vbLeftButton) Then
Me.Left = Me.Left + (X - x0)
Me.Top = Me.Top + (Y - y0)
DoEvents
End If
End Sub
quand je mets le script là sa ne marche pas, sa fait contact ... donc un bug
mais si je met le script là sa marche impec:
'Ces deux procédures permettent le déplacement de la form :
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
x0 = X
y0 = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'on interception des événements sur l'icône du systray
Select Case X
Case &H202 To &H203
me.Show
Call oSystray.DeleteIcon
Let dksSystrayButton1.Visible = False
End Select
End Sub
sa marche aussi si le script est inversé:
'Ces deux procédures permettent le déplacement de la form :
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
x0 = X
y0 = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If (Button = vbLeftButton) Then
Me.Left = Me.Left + (X - x0)
Me.Top = Me.Top + (Y - y0)
DoEvents
End If
End Sub
mais quand je mets tout sa ne marche pas, probleme quand je clique sur le systray sa execute surement en meme temps le premier script
C'est un script de systray qui redeviens une form avec un déplaceur de form