Page 2 sur 2

Re: Déplacer à la souris une petite fenêtre sans bordure

Publié : lun. 24/mars/2014 12:14
par Backup
:)

Re: Déplacer à la souris une petite fenêtre sans bordure

Publié : lun. 24/mars/2014 13:12
par nico
A la lecture du problème, cela m'a donné une idée, cela fonctionne sur Window 7, à confirmer pour Window 8 et les autres OS!

L'idée est de créer une fenêtre fille parente de la première et de cacher celle-ci, voici le code de démonstration:
Si ça marche, il suffira de remplacer : #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget par #PB_Window_Invisible
et d'enlever le HideWindow et le MessageRequester bien sûr.

Code : Tout sélectionner

If OpenWindow(0, 100, 200, 400, 400, "N°1", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  OpenWindow(1, 600, 200, 400, 400, "N°2", #PB_Window_BorderLess, WindowID(0))
  ButtonGadget(0, 10, 10, 100, 20, "Quit")
  
  MessageRequester("Information", "Après le clic sur le bouton, la fenêtre N°1 va être caché", 0)
  
  HideWindow(0,1)
  
  Repeat
    Event = WaitWindowEvent()
    
    Select  Event 
      Case #PB_Event_Gadget
        Select EventType()
          Case 0
            Debug "Evénement du Bouton 'Quit' de la fenêtre N°2"
            Quit = 1
        EndSelect
        
      Case #PB_Event_CloseWindow
        Quit = 1
        
    EndSelect 
    
  Until Quit = 1
EndIf
End 

Re: Déplacer à la souris une petite fenêtre sans bordure

Publié : lun. 24/mars/2014 13:44
par falsam
Joli Nico. Ça fonctionne effectivement sous Windows 7 et sans API :)

Re: Déplacer à la souris une petite fenêtre sans bordure

Publié : lun. 24/mars/2014 14:00
par Marc56
Futé!!!! :D J'adore!
Testé sous Windows 8.1 et sous XP Pro (en machine virtuelle) ça fonctionne :P

La bidouilles avec des fenêtres en arrière plan me rappellent mon jeune temps où on programmait des écran texte (80x25): pour faire croire que les fenêtres se dessinaient instantanément (sur des PC à 12MHz...) on traçait l'interface en arrière-plan, puis on basculait l'une ou l'autre page écran (de mémoire on en avait 4 ou 8 de possible)

Bravo :wink: