Page 1 sur 1

j'aurais une petite question sur les fenetres

Publié : dim. 31/mai/2015 8:02
par Micheao
Bonjour
j'aurais une petite question :

j'ai crée 2 fenetres A et B
Dans la fenetre A j'ai crée un bouton pour ouvrir la fenetre B
au lancement du programme j'affiche ma fenetre A et je clique sur le bouton ma fenetre B s'ouvre .

ce que je voudrais faire c'est quand je clique sur le bouton ma fenetre A se Minimize automatiquement pour faire apparaitre la fenetre B et quand je ferme la fenetre B la fenetre A réapparait .

j'ai regader la doc et fouillé sur le forum j'ai pas trouvé .

Re: j'aurais une petite question sur les fenetres

Publié : dim. 31/mai/2015 9:26
par G-Rom
HideWindow() ?

Re: j'aurais une petite question sur les fenetres

Publié : dim. 31/mai/2015 10:23
par Marc56
Petit exemple sur la façon de travailler avec deux fenêtres
(comme c'est une question récurrente) :P

Code : Tout sélectionner

; Exemple de gestion de deux fenêtres
; Masquer ou cacher l'une ou l'autre
; Séparer les évènements issus de chacune des fenêtre
; Utile notamment pour gérer la fonction de la case de fermeture standard
; qui doit différer selon qu'on est sur la fenêtre principale ou secondaire

Enumeration 
	#Win_A
	#Btn_OpenB
	#Win_B
	#Btn_HideB
EndEnumeration

OpenWindow(#Win_A, 0, 0, 500, 300, "A", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(#Btn_OpenB, 10, 10, 80, 20, "Ouvrir  B") 

OpenWindow(#Win_B, 10, 100, 300, 100, "B", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Invisible)
ButtonGadget(#Btn_HideB, 10, 40, 280, 20, "Masquer B et Afficher A") 

Repeat
	Event = WaitWindowEvent()
	
	Select EventWindow()	; --- Quelle fenêtre est concernée ?
			
		Case #Win_A	
			; --- Fenêtre A	--------------------------------------		
			Select Event
				Case #PB_Event_CloseWindow	
					; Case de fermeture de la fenêtre A = Quitter
					End
					
				Case #PB_Event_Gadget
					Select EventGadget()
						Case #Btn_OpenB
							; Masquer A	et ouvrir B
							HideWindow(#Win_A, #True)
							HideWindow(#Win_B, #False)
							
					EndSelect
			EndSelect
			
		Case #Win_B
			; --- Fenêtre B --------------------------------------
			Select Event
				Case #PB_Event_CloseWindow	
					; Case de fermeture de la fenêtre B = Ne pas fermer l'application
					; mais Masquer B et afficher A
					HideWindow(#Win_A, #False)
					HideWindow(#Win_B, #True)
					
				Case #PB_Event_Gadget
					; Même chose mais avec le bouton de fermeture
					Select EventGadget()
						Case #Btn_HideB
							HideWindow(#Win_A, #False)
							HideWindow(#Win_B, #True)
					EndSelect
					
			EndSelect
	EndSelect
	
ForEver

End
Bon Dimanche :wink:

Re: j'aurais une petite question sur les fenetres

Publié : dim. 31/mai/2015 13:12
par Micheao
G-Rom a écrit :HideWindow() ?
merci G-Rom et Marc56 de vos réponse je vais étudié ça