Page 1 sur 1

DontMoveWindow()

Publié : dim. 08/janv./2006 1:32
par Jacobus
C'est une commande que j'aurai bien aimé trouver, je le rajouterai dans les suggestions.

Est-ce que vous connaitriez une façon de procéder pour empêcher le déplacement d'une fenêtre par l'utilisateur? J'ai une appli que j'ai pas envie qu'elle bouge pendant un process.

j'ai tenté un truc mais c'est pas efficace longtemps.

Code : Tout sélectionner

flagwin = #PB_Window_SystemMenu |#PB_Window_WindowCentered |#PB_Window_TitleBar
  If OpenWindow(#Win_0,0,0, ww, wh, flagwin, "Window 0")=0 Or CreateGadgetList(WindowID(#Win_0))=0  
    End 
  EndIf 
Puis au lancement du process :

Code : Tout sélectionner

flagwin = #PB_Window_WindowCentered
            UpdateWindow_(WindowID(#Win_0))
                 ;code...
fin du process :

Code : Tout sélectionner

flagwin = #PB_Window_SystemMenu |#PB_Window_WindowCentered |#PB_Window_TitleBar
UpdateWindow_(WindowID(#Win_0))
Ca marche pendant quelque seconde, mais si j'insiste avec le curseur la fenêtre bouge, argh!

Publié : dim. 08/janv./2006 2:24
par nico

Publié : dim. 08/janv./2006 8:50
par Droopy
Si tu as la Droopy Lib installée supprime la procedure

Code : Tout sélectionner

;/ Author : Franco / Example by Droopy 

Procedure WindowsMove(WindowID,State) 
  RemoveMenu_(GetSystemMenu_(WindowID,State),1,#MF_DISABLED|#MF_BYPOSITION) 
  DrawMenuBar_(WindowID) 
EndProcedure 


;/ Test 
#CheckBox=0 
Handle=OpenWindow(0,0,0,200,50,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Move me ?") 
CreateGadgetList(WindowID(0)) 
CheckBoxGadget(#CheckBox,10, 10,250,20,"Checked = Moving Enabled") 
SetGadgetState(#CheckBox,#True) 

Repeat 
  Event=WaitWindowEvent() 
  If Event= #PB_Event_Gadget And EventGadgetID()=0 
    WindowsMove(Handle,GetGadgetState(0)) 
  EndIf 
Until Event=#PB_Event_CloseWindow
[/code]

Publié : dim. 08/janv./2006 10:22
par Good07
Bonjour.

Décidemment cette Droopy lib est une véritable mine d'or. :D

Génial !

A+

Publié : dim. 08/janv./2006 10:52
par Jacobus
:D , Merci c'est exactement ça.
Le topic de Denis n'est pourtant pas vieux, je n'y ai même pas songé alors que je l'avais lu.

La Droopy'lib est effectivement une mine d'or, et comme dans une mine il faut creuser pour trouver les pépites. Incontournable :wink:

Merci à vous...

Publié : dim. 08/janv./2006 11:31
par Jacobus
:( , Finalement ça revient au même que mon exemple de départ.
Le bloquage opère qu'un temps. En essayant de pointer la barre de titre avec le curseur et de bouger la fenêtre, on y arrive au bout de quelques essais. Dans l'absolu ça ira tout de même.
(mon process sollicite le cpu à 100% empêchant le rafraîchissement en cas de déplacement de la fenêtre)

Publié : dim. 08/janv./2006 12:50
par Droopy
J'essaye d'intégrer les fonctions les plus demandées :D
Et les codes sont souvent issues de forums, donc vos codes :wink:

Publié : dim. 08/janv./2006 12:54
par Jacobus
Continue, c'est un excellent travail que tu fais! :)