Page 1 sur 1
Récupérer le clic souris avec une fentre ss barre qui bouge
Publié : mer. 02/nov./2005 14:58
par olivier

Bon ce fut difficile d'y mettre un titre.
Voila, je travail avec des fenetres sans barre, et j'utilise la fonction pour pouvoir les déplacer facilement. Mais voilà je n'arrive pas a récuperer le clic sur la souris.
Merci d'avance
Code : Tout sélectionner
; German forum:
; Author: Danilo
; Date: 18. April 2003
hWnd = OpenWindow(0, 200, 200, 300, 300, #PB_Window_BorderLess, "...")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #WM_LBUTTONDOWN
SendMessage_(hWnd, #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
Case #WM_LBUTTONUP
Debug "clic"
EndSelect
ForEver
Publié : mer. 02/nov./2005 15:10
par Twix
bizarre moi ça marche !!
Enfin, en fait, ça marche que pour le double-clic

, si c'est ça que tu veut récuperer

, tu sauras que ton programme marchera chez moi !!
P.S : Et puis, par rapport au titre, la fenêtre bouge bien chez moi

Publié : mer. 02/nov./2005 15:13
par Chris
Chez moi, ça marche bien
Publié : mer. 02/nov./2005 15:15
par cederavic
Ca marche aussi chez moi : WinXP Pro SP2
Publié : mer. 02/nov./2005 15:15
par Gillou
Je sais pas trop si c'est ça que tu veux :
Autrement regarde le tutorial de Dobro
(La fonction sendmessage bloque temporairement les événements de la fenêtre)
hWnd = OpenWindow (0, 200, 200, 300, 300, #PB_Window_BorderLess , " ... ")
Repeat
Select WaitWindowEvent ()
Case #WM_LBUTTONDOWN
Debug " Bouton gauche appuyé "
SendMessage_(hWnd, #WM_NCLBUTTONDOWN , #HTCAPTION , 0)
Debug " Bouton gauche relaché 1 "
Case #WM_LBUTTONUP
Debug " Bouton gauche relaché 2 "
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Publié : mer. 02/nov./2005 15:34
par olivier
He ben pour moi le code juste au dessus ne me donne pas à chaque clic le message Bouton gauche relaché 2. J'ai bien le 1 à chaque fois mais pas le 2.
Bon mais j'ai contourner le problème.
Merci à tous pour vos réponse ultra rapide.
J'ai vue plusieurs fois la fonction de l'api pour forcer à redessiner une fenetre et je n'arrive pas à la retrouvé. Je retourne la rechercher encore une fois mais si vous passez par la ...merci d'avance.
Publié : mer. 02/nov./2005 16:11
par Gillou
Bon pour ta première question, normalement tu ne devrais pas voir"bouton gauche relaché 2" lorsque tu déplaces ta fenêtre. Tu ne devrais le voir que si tu fais un double clique.
Regardes sans le sendmessage ce que ça donne
hWnd = OpenWindow (0, 200, 200, 300, 300, #PB_Window_BorderLess , " ... ")
Repeat
Select WaitWindowEvent ()
Case #WM_LBUTTONDOWN
Debug " Bouton gauche appuyé "
Case #WM_LBUTTONUP
Debug " Bouton gauche relaché "
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Pour la seconde, essaie updatewindow_(windowid())
@+
Publié : mer. 02/nov./2005 18:05
par nico
Pour moi ça ne marche pas pour le click gauche relaché; il faut cliquer deux fois de suite pour avoir l'évènement.
Su tu recherches à savoir quand l'utilisateur relàche le bouton gauche à la fin du déplacement; c'est pas compliqué c'est juste après le sendmessage!
hWnd = OpenWindow (0, 200, 200, 300, 300, #PB_Window_BorderLess , " ... ")
Repeat
Select WaitWindowEvent ()
Case #PB_Event_CloseWindow
End
Case #WM_LBUTTONUP
Debug " clic "
Case #WM_LBUTTONDOWN
Debug " début déplacement "
SendMessage_(hWnd, #WM_NCLBUTTONDOWN , #HTCAPTION , 0)
Debug " fin déplacement "
EndSelect
ForEver
Si ça n'a rien à voir avec le déplacement de la fenêtre, tu peux aussi faire ça; là tu as l'évènement click gauche relaché que si la fenêtre n'est pas déplacé.
hWnd = OpenWindow (0, 200, 200, 300, 300, #PB_Window_BorderLess , " ... ")
Repeat
Select WaitWindowEvent ()
Case #PB_Event_CloseWindow
End
Case #WM_LBUTTONUP
Debug " clic "
Case #WM_LBUTTONDOWN
SendMessage_(hWnd, #WM_NCLBUTTONDOWN , #HTCAPTION , 0)
PostMessage_(hWnd, #WM_LBUTTONUP , 0, 0)
EndSelect
ForEver
Tu peux aussi cumuler les deux!
Je suis utilisateur du colorer parce que je le vaux bien!

Publié : mer. 02/nov./2005 18:33
par Gillou
J'adore ta couleur de cheveux

Publié : mer. 02/nov./2005 20:49
par olivier
Merci merci,
c'est bon j'ai ce qu'il me faut
Bonne soirée à vous
PS : ils sont jolie vos codes tout en couleurs

Publié : mer. 02/nov./2005 21:03
par nico
PS : ils sont jolie vos codes tout en couleurs
Ah ça plaisir que ça se voit parce que c'est vraiment galère à faire, faut tout se taper à la main; à la fin on distingue plus le code du formatage; mais bon à la fin on est content du résultat.

Publié : mer. 02/nov./2005 22:36
par Backup