OVH Cloud OVH Cloud

commandbutton_mouseup

13 réponses
Avatar
seb-seb
bonjour
j'ai plein de boutons indéxés
quand je fais mousedown j'enregistre dans une variable quel bouton a ete
appuyé
quand je fais mouseup je pensais avoir le bouton sur lequel je relache le
bouton or ca me renvoie le meme
comment savoir au moment du mouseup ou je suis, au moins les x et y de la
form
merci

10 réponses

1 2
Avatar
LE TROLL
Bonjour,

J'ai bien l'impression qu'il faille que tu choisisses, soit Up, soit
Down avec Mouse, voici ce que j'ai fait:

Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
MsgBox "Bouton = " & Index & vbLf & "MouseDown"
End Sub
Sub Command1_MouseUp(Index As Integer, Button As Integer, Shift As Integer,
X As Single, Y As Single)
MsgBox "Bouton = " & Index & vbLf & "MouseUp"
End Sub

Ben dans ce cas, le Up ne répond pas, mais si tu annules le Down, le Up
répond...
Tu pêux renvoyer l'un à l'autre, puisqu'il faut appuyer avant de relâcher,
mais je ne compends pas bien le but:
Dans MouseDown_
Call Command1_MouseUp(Index, Button, Shift, X, Y)

Si tu fais ce qui suit, tu auras la position de ton curseur sur la form,
donc tu pourras déterminer l'emplacemet des objets:
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Text1 = X & " * " & Y
End Sub

Mais dans l'absolu, avec les paramètres de chaque objets, tu as la position:
Objet.Width = largeur
...Height = hauteur
...Top = position verticale
...Left = position horizontale

Après ces des math avec des variables:
débutH = objet.Left
finH = objet.Left + objet.Height
débutV = objet.Top
finV = objet.Top + objet.Width

Ainsi, in fine Tu testes
Mouse_Move (X, Y)
if X >= debutH and X <= finH then: 'dans la verticale de l'objet
if Y >= debutV and Y <= finV then: dans l'objet
MsgBox "Sur l'objet"
endif
endif
--------------


"seb-seb" a écrit dans le message de news:

bonjour
j'ai plein de boutons indéxés
quand je fais mousedown j'enregistre dans une variable quel bouton a ete
appuyé
quand je fais mouseup je pensais avoir le bouton sur lequel je relache le
bouton or ca me renvoie le meme
comment savoir au moment du mouseup ou je suis, au moins les x et y de la
form
merci



Avatar
seb-seb
oui mais non
en j'ai un quadrillage de boutons

form_mousemove ne se declenche pas quand je passe sur un bouton

si je fais mouse down sur le bouton 0 et que je deplace sur le bouton 5 et
que je relache le bouton
ca me declenche mouseup du bouton 0
de meme si je relache sur la form ca me declenche mouseup du bouton 0

donc je sais pas ou est le curseur à ce moment la ...
Avatar
LE TROLL
Ah, est-ce que ça, ça t'avance:

' OBJETS = bouton1(0), bouton1(1), text1, text2
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Text1 = "MoveForm"
End Sub
Sub Command1_MouseMove(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
Text1 = "MoveBouton" & " " & Index
End Sub
Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
Text2 = "DownBouton" & " " & Index
End Sub

Sinon, tu as aussi LostFocus, et GotFocus en évènement...

In fine, tu veux faire quoi au juste, le but, le résultat ???
--------------


"seb-seb" a écrit dans le message de news:

oui mais non
en j'ai un quadrillage de boutons

form_mousemove ne se declenche pas quand je passe sur un bouton

si je fais mouse down sur le bouton 0 et que je deplace sur le bouton 5 et
que je relache le bouton
ca me declenche mouseup du bouton 0
de meme si je relache sur la form ca me declenche mouseup du bouton 0

donc je sais pas ou est le curseur à ce moment la ...



Avatar
jmn
Plusieurs considérations :

l'évènement mousemove se rapporte à la 'surface visible' de l'objet
considéré. Si votre form est tapissée de boutons il est normal que
form_mousemove ne soit jamais invoqué. Les boutons_mousemove sont invoqués,
mais relativement à leur propre surface !
Toutefois, si vous traitez l'évènement mousemove sur les boutons (et surtout
si vous avez pris la précaution de créer un groupe indexé de boutons) il
vous suffit de mémoriser l'index à chaque occurence de l'évènement
bouton_mousemove (mettre Dim BoutonEnCours% dans la zone déclaration de la
form) en faisant BoutonEncours = index...

Donc, lorsque le bouton (celui de la souris !) est relaché vous disposez de
l'index du bouton initialement enfoncé et de celui du bouton qui se trouvait
sous le curseur de la souris à ce moment là.

Bon courage.
Avatar
Pascal B.
Bonjour Seb

Et si tu regardais du côté du DRAG et DROP
parce que cela ressemble fort à un Glisser/Coller

Pascal B.

PS: N'écoute pas LeTroll, il ne comprend jamais les questions posées.


"seb-seb" wrote in message news:
| bonjour
| j'ai plein de boutons indéxés
| quand je fais mousedown j'enregistre dans une variable quel bouton a ete
| appuyé
| quand je fais mouseup je pensais avoir le bouton sur lequel je relache le
| bouton or ca me renvoie le meme
| comment savoir au moment du mouseup ou je suis, au moins les x et y de la
| form
| merci
|
|
Avatar
seb-seb
je ne vois pas ce qu'est censé faire ton code

en fait avec mon quadrillage de bouton je veux faire en sorte de pouvoir
faire une selection avec un cadre rouge autour
des boutons sélectionné
et que le rectangle change de taille au fur et a mesure qu'on bouge la
souris



"LE TROLL" <le a écrit dans le message de news:

Ah, est-ce que ça, ça t'avance:

' OBJETS = bouton1(0), bouton1(1), text1, text2
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Text1 = "MoveForm"
End Sub
Sub Command1_MouseMove(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
Text1 = "MoveBouton" & " " & Index
End Sub
Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
Text2 = "DownBouton" & " " & Index
End Sub

Sinon, tu as aussi LostFocus, et GotFocus en évènement...

In fine, tu veux faire quoi au juste, le but, le résultat ???
--------------


"seb-seb" a écrit dans le message de news:

oui mais non
en j'ai un quadrillage de boutons

form_mousemove ne se declenche pas quand je passe sur un bouton

si je fais mouse down sur le bouton 0 et que je deplace sur le bouton 5
et que je relache le bouton
ca me declenche mouseup du bouton 0
de meme si je relache sur la form ca me declenche mouseup du bouton 0

donc je sais pas ou est le curseur à ce moment la ...







Avatar
LE TROLL
Eh, t'es certain d'utiliser le bon objet, un bouton c'est pour
exécuter une action, c'est pas fait pour être sélectionné, mais pour cliquer
ou appuyer dessus???
--------


"seb-seb" a écrit dans le message de news:
%
je ne vois pas ce qu'est censé faire ton code

en fait avec mon quadrillage de bouton je veux faire en sorte de pouvoir
faire une selection avec un cadre rouge autour
des boutons sélectionné
et que le rectangle change de taille au fur et a mesure qu'on bouge la
souris



"LE TROLL" <le a écrit dans le message de news:

Ah, est-ce que ça, ça t'avance:

' OBJETS = bouton1(0), bouton1(1), text1, text2
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Text1 = "MoveForm"
End Sub
Sub Command1_MouseMove(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
Text1 = "MoveBouton" & " " & Index
End Sub
Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
Text2 = "DownBouton" & " " & Index
End Sub

Sinon, tu as aussi LostFocus, et GotFocus en évènement...

In fine, tu veux faire quoi au juste, le but, le résultat ???
--------------


"seb-seb" a écrit dans le message de news:

oui mais non
en j'ai un quadrillage de boutons

form_mousemove ne se declenche pas quand je passe sur un bouton

si je fais mouse down sur le bouton 0 et que je deplace sur le bouton 5
et que je relache le bouton
ca me declenche mouseup du bouton 0
de meme si je relache sur la form ca me declenche mouseup du bouton 0

donc je sais pas ou est le curseur à ce moment la ...











Avatar
jmn
Plusieurs considérations :

l'évènement mousemove se rapporte à la 'surface visible' de l'objet
considéré. Si votre form est tapissée de boutons il est normal que
form_mousemove ne soit jamais invoqué. Les boutons_mousemove sont invoqués,
mais relativement à leur propre surface !
Toutefois, si vous traitez l'évènement mousemove sur les boutons (et surtout
si vous avez pris la précaution de créer un groupe indexé de boutons) il
vous suffit de mémoriser l'index à chaque occurence de l'évènement
bouton_mousemove (mettre Dim BoutonEnCours% dans la zone déclaration de la
form) en faisant BoutonEncours = index...

Donc, lorsque le bouton (celui de la souris !) est relaché vous disposez de
l'index du bouton initialement enfoncé et de celui du bouton qui se trouvait
sous le curseur de la souris à ce moment là.

Bon courage.
Avatar
seb-seb
"jmn" a écrit dans le message de news:

Plusieurs considérations :

l'évènement mousemove se rapporte à la 'surface visible' de l'objet
considéré. Si votre form est tapissée de boutons il est normal que
form_mousemove ne soit jamais invoqué. Les boutons_mousemove sont
invoqués,
mais relativement à leur propre surface !
Toutefois, si vous traitez l'évènement mousemove sur les boutons (et
surtout
si vous avez pris la précaution de créer un groupe indexé de boutons) il
vous suffit de mémoriser l'index à chaque occurence de l'évènement
bouton_mousemove (mettre Dim BoutonEnCours% dans la zone déclaration de la
form) en faisant BoutonEncours = index...

Donc, lorsque le bouton (celui de la souris !) est relaché vous disposez
de
l'index du bouton initialement enfoncé et de celui du bouton qui se
trouvait
sous le curseur de la souris à ce moment là.

Bon courage.



oui en fait le mousemove je me suis pas trop penché dessus pour voir s'il
marchait mais
c surtout le mouseup qui m'embete
Avatar
seb-seb
"LE TROLL" <le a écrit dans le message de news:

Eh, t'es certain d'utiliser le bon objet, un bouton c'est pour
exécuter une action, c'est pas fait pour être sélectionné, mais pour
cliquer ou appuyer dessus???
--------


"seb-seb" a écrit dans le message de news:
%
je ne vois pas ce qu'est censé faire ton code

en fait avec mon quadrillage de bouton je veux faire en sorte de pouvoir
faire une selection avec un cadre rouge autour
des boutons sélectionné
et que le rectangle change de taille au fur et a mesure qu'on bouge la
souris





la n'est pas la question
dans mon programme on peut aussi cliquer dessus
1 2