Fenêtre sans bordure et invisible dans la barre de tâche

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Fenêtre sans bordure et invisible dans la barre de tâche

Message par nico »

Je viens de me rendre compte qu'on ne peut pas créer une fenêtre sans bordure et qui n'apparaisse pas dans la barre de tâche en faisant #PB_Window_Tool | #PB_Window_BorderLess; ça ne marche pas.

Comment faire alors ?
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Fenêtre sans bordure et invisible dans la barre de tâche

Message par venom »

Salut nico,

sous seven sans #PB_Window_Tool, ça fonctionne donc peut etre un problème de compatibilité avec seven et #PB_Window_Tool a voir.







@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Fenêtre sans bordure et invisible dans la barre de tâche

Message par gnozal »

Peut-être que le vieux truc de la fenêtre invisible fonctionne sous Se7en ?

Code : Tout sélectionner

If OpenWindow(0, 450, 200, 104, 0, "Dummy invisible window", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_Invisible)
  ; La 1ère fenêtre ne sert qu'à cacher la seconde (elle n'apparaît pas dans la barre des tâches)
  If OpenWindow(1, 450, 200, 402, 402, "Window", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_BorderLess|#PB_Window_Tool, WindowID(0))
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          CloseWindow(0)
          CloseWindow(1)
          Break
      EndSelect
    ForEver
  EndIf
EndIf
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Fenêtre sans bordure et invisible dans la barre de tâche

Message par Le Soldat Inconnu »

L'option #PB_Window_Tool ajoute une bordure.

la solution est donc la suivante :

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 4.50
;
; Explication du programme :
; ToolWindow sans bordure et invisible dans la barre des tâches

; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_NoGadgets | #PB_Window_Invisible) = 0
  End
EndIf

If OpenWindow(1, 0, 0, 300, 300, "Test", #PB_Window_BorderLess | #PB_Window_Invisible, WindowID(0)) = 0
  End
EndIf

SetWindowLong_(WindowID(1), #GWL_EXSTYLE, GetWindowLong_(WindowID(1), #GWL_EXSTYLE) | #WS_EX_TOOLWINDOW)

HideWindow(1, 0)

Repeat
  Event = WaitWindowEvent()
  
Until Event = #PB_Event_CloseWindow


Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Fenêtre sans bordure et invisible dans la barre de tâche

Message par MLD »

Il semble q'une seule fenêtre suffise :?: :?:

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 4.50
;
; Explication du programme :
; ToolWindow sans bordure et invisible dans la barre des tâches

; Création de la fenêtre et de la GadgetList
; If OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_NoGadgets | #PB_Window_Invisible) = 0
;   End
; EndIf

 OpenWindow(1, 0, 0, 300, 300, "Test", #PB_Window_BorderLess | #PB_Window_Invisible);, WindowID(0)) = 0
  ;End
;EndIf

SetWindowLong_(WindowID(1), #GWL_EXSTYLE, GetWindowLong_(WindowID(1), #GWL_EXSTYLE) | #WS_EX_TOOLWINDOW)

HideWindow(1, 0)

Repeat
  Event = WaitWindowEvent()
  
Until Event = #PB_Event_CloseWindow
end
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Fenêtre sans bordure et invisible dans la barre de tâche

Message par Le Soldat Inconnu »

heu, oui :mrgreen:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Fenêtre sans bordure et invisible dans la barre de tâche

Message par nico »

Bon sang, c'est la méthode que j'avais utilisé mais comme j'ai fait une modif à cause du problème du stickywindow, j'avais enlevé l'invisibilité et j'ai cru par la suite que je n'avais pas résolu le problème.

Je vous jure des fois...

Mille mercis
Répondre