Page 1 sur 1

Déplacer une fenêtre

Publié : mer. 28/janv./2004 21:30
par Le Soldat Inconnu
pour déplacer une fenêtre en cliquant dessus avec la souris

Code : Tout sélectionner

;- Window Constants
;
#Window_0 = 0
#SizeWindowX = 300
#SizeWindowY = 200

Procedure Open_Window_0()
  
  If OpenWindow(#Window_0, 366, 211, #SizeWindowX, #SizeWindowY, #PB_Window_BorderLess, "New window ( 0 )")
    If CreateGadgetList(WindowID())
      
    EndIf
  EndIf
EndProcedure


;- debut du prog

Open_Window_0()
ClicDroit = 0

Repeat
  
  If clicdroit ; si le bouton droit de la souris est appuyé, on déplace la fenêtre en même temps que la souris
    Event = WindowEvent()
    
    GetCursorPos_(CursorPos.Rect)
    mousex.l = CursorPos\Left
    mousey.l = CursorPos\Top
    MoveWindow(mousex - PositionX, mousey - PositionY)
    
  Else
    Event = WaitWindowEvent()
  EndIf
  
  If event = #WM_RButtonDown ; on enfonce le bouton droit de la souris
    clicdroit = 1
    PositionX = WindowMouseX()
    PositionY = WindowMouseY()
    SetClassLong_(WindowID(), #GCL_HCURSOR, LoadCursor_(0, 32646)) ; choix du curseur déplacement
  EndIf
  If event = #WM_RButtonUp ; on relève le bouton droit de la souris
    clicdroit = 0
    SetClassLong_(WindowID(), #GCL_HCURSOR, LoadCursor_(0, 32512)) ; choix du curseur normal
  EndIf
  
Until Event = #PB_EventCloseWindow

End

Publié : mar. 03/févr./2004 4:22
par Chris
Oulaahhhh!!!

Que de lignes pour si peu de choses :roll: ... :lol:

Code : Tout sélectionner

;- Window Constants 
; 
#Window_0 = 0 
#SizeWindowX = 300 
#SizeWindowY = 200 

Procedure Open_Window_0() 
  
  If OpenWindow(#Window_0, 366, 211, #SizeWindowX, #SizeWindowY, #PB_Window_BorderLess, "New window ( 0 )") 
    If CreateGadgetList(WindowID()) 
    EndIf 
  EndIf 
EndProcedure 

;- debut du prog 

Open_Window_0() 

Repeat 
  Select WaitWindowEvent()
    Case #WM_LBUTTONDOWN 
      SendMessage_(WindowID(), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
  EndSelect
  
Until Event = #PB_EventCloseWindow 
End
Chris :)

Publié : mer. 04/févr./2004 9:26
par Le Soldat Inconnu
Ouais, je sais, mais mon truc permet le déplacement également avec le clic droit ce que ne permet ton système.

Ton truc ne marche que avec le clic gauche mais je l'utilise quand y'a pas besion de passer avec le clic droit.