Problème: faire une sous fenetre en plein écran

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
#PB_IS_COOL
Messages : 15
Inscription : jeu. 17/mai/2007 16:01

Problème: faire une sous fenetre en plein écran

Message par #PB_IS_COOL »

Bonjour !:)
J'aimerais vous poser une question:
Est-il possible de créer une sous fenetre en mode plein-ecran?
Voila, si vous savez, aidez moi sil vous plaiiiittt !!!:cry:
@+:cry:
3...2...1...
CODEZ !!! :wink:
minirop
Messages : 321
Inscription : mer. 02/août/2006 21:06

Message par minirop »

tu ouvre une fenêtre en plein ecran en passant l'ID de ta fenêtre en dernier paramètre, non ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Problème: faire une sous fenetre en plein écran

Message par Backup »

#PB_IS_COOL a écrit :Bonjour !:)
J'aimerais vous poser une question:
Est-il possible de créer une sous fenetre en mode plein-ecran?
Voila, si vous savez, aidez moi sil vous plaiiiittt !!!:cry:
@+:cry:
pour quoi faire ? 8O

tu peux éventuellement faire une fenêtre qui contient des gadgets et un écran...
#PB_IS_COOL
Messages : 15
Inscription : jeu. 17/mai/2007 16:01

Message par #PB_IS_COOL »

Ben en fait c'est que lorsque on appui sur une touche, sa ouvre une fenetre sans réduire le plein écran...:?
3...2...1...
CODEZ !!! :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

#PB_IS_COOL a écrit :Ben en fait c'est que lorsque on appui sur une touche, sa ouvre une fenetre sans réduire le plein écran...:?
c'est impossible avec le mode plein ecran !!
mais par contre tu peut ouvrir un Ecran dans une fenetre" Full"
et ensuite faire passer une 2em fenetre-gadget devant ta fenetre-ecran :D
et swapper de l'une a l'autre :D
(comme degas elite)

a noter qu'une fenetre-ecran (OpenWindowedScreen()) peut tres bien ne pas avoir de bordures :D ; on peut meme la faire ronde !! :lol:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Finalement, par cette astuce, ça devient possible :lol:

Code : Tout sélectionner

Declare OpenScreen_()

  Win0 = OpenScreen_()

  Tmp = #PB_Window_SystemMenu     ; Autorise le menu système sur la barre de titre.
  Tmp | #PB_Window_MinimizeGadget ; Ajoute l'icône 'Réduire' sur la barre de titre. #PB_Window_SystemMenu est ajouté automatiquement.
  Tmp | #PB_Window_MaximizeGadget ; Ajoute l'icône 'Agrandir' sur la barre de titre. #PB_Window_SystemMenu est ajouté automatiquement.
  Tmp | #PB_Window_SizeGadget     ; Ajoute LES possibilités de redimensionnement à la fenêtre.
  Tmp | #PB_Window_TitleBar       ; Crée la fenêtre avec une barre de titre.
  Tmp | #PB_Window_WindowCentered ; Centre la fenêtre au milieu de la fenêtre mère ('FenetreMereID' doit être spécifié). LES paramètres x,y sont ignorés.

  Win1 = OpenWindow(#PB_Any, 0, 0, 400, 200, "Fenêtre d'essai", Tmp)

MessageRequester("", "Une fenêtre dans un screen intégral")


Procedure OpenScreen_()
  ExamineDesktops()
  x = DesktopWidth(0)
  y = DesktopHeight(0)
  Win = OpenWindow(#PB_Any, 0, 0, x, y, "", $81000000)
  InitSprite()
  OpenWindowedScreen(WindowID(Win), 0, 0, x, y, 0, 0, 0)
  ProcedureReturn Win
EndProcedure
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ollivier a écrit :Finalement, par cette astuce, ça devient possible :lol:
en definitif tu fais ce que j'ai ecris plus haut ! :)
c'est a dire ouvrir un ecran dans une fenetre ! :)
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Tout à fait Dobro. D'ailleurs, vu le peu de temps que j'ai PB. Je suis curieux de tester toutes les théories possibles et inimaginables. C'est peut-être hors sujet mais j'ai essayé de mettre un menu PopUp dans cet exemple ci-dessus : ça coince!
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ollivier a écrit :Tout à fait Dobro. D'ailleurs, vu le peu de temps que j'ai PB. Je suis curieux de tester toutes les théories possibles et inimaginables. C'est peut-être hors sujet mais j'ai essayé de mettre un menu PopUp dans cet exemple ci-dessus : ça coince!
si! ça marche bien :D


Declare OpenScreen_ ()

Win0 = OpenScreen_ ()

Tmp = #PB_Window_SystemMenu ; Autorise le menu système sur la barre de titre.
Tmp | #PB_Window_MinimizeGadget ; Ajoute l'icône 'Réduire' sur la barre de titre. #PB_Window_SystemMenu est ajouté automatiquement.
Tmp | #PB_Window_MaximizeGadget ; Ajoute l'icône 'Agrandir' sur la barre de titre. #PB_Window_SystemMenu est ajouté automatiquement.
Tmp | #PB_Window_SizeGadget ; Ajoute LES possibilités de redimensionnement à la fenêtre.
Tmp | #PB_Window_TitleBar ; Crée la fenêtre avec une barre de titre.
Tmp | #PB_Window_WindowCentered ; Centre la fenêtre au milieu de la fenêtre mère ('FenetreMereID' doit être spécifié). LES paramètres x,y sont ignorés.

Win1 = OpenWindow ( #PB_Any , 0, 0, 400, 200, "Fenêtre d'essai" , Tmp)
If CreatePopupMenu (0) ; La création du menu contextuel commence...
     MenuTitle ( "Projet" ) ; Vous pouvez utiliser toutes les commandes relatives au menu,
     MenuItem (1, "Ouvrir" ) ; comme si c'était un menu normal...
     MenuItem (2, "Enregistrer" )
     MenuItem (3, "Enregistrer sous" )
     MenuItem (4, "Quitter" )
     MenuBar ()
     OpenSubMenu ( "Fic&hiers récents" )
     MenuItem (5, "PureBasic.exe" )
     MenuItem (6, "Test.txt" )
     CloseSubMenu ()
     MenuTitle ( "Editer" )
     MenuTitle ( "Options" )
EndIf
Repeat
     Select WaitWindowEvent () ; Examine quel type d'évènement est survenu sur la fenêtre
         Case #WM_RBUTTONDOWN ; Le bouton droit de la souris a été clické =>
             DisplayPopupMenu (0, WindowID (Win1 )) ; On affiche le menu contextuel
         Case #PB_Event_Menu ; Un élément du menu a été sélectionné
             Select EventMenu () ; On recupère le numéro de cet élement...
                 Case 1 : Debug "Menu : Ouvrir"
                 Case 2 : Debug "Menu : Enregistrer"
                 Case 3 : Debug "Menu : Enregistrer sous"
                 Case 4 : Quitter = 1
                 Case 5 : Debug "Menu : PureBasic.exe"
                 Case 6 : Debug "Menu : Text.txt"
             EndSelect
         Case #PB_Event_CloseWindow
            Quitter = 1
     EndSelect
Until Quitter = 1




MessageRequester ( "" , "Une fenêtre dans un screen intégral" )


Procedure OpenScreen_ ()
     ExamineDesktops ()
    x = DesktopWidth (0)
    Y = DesktopHeight (0)
    Win = OpenWindow ( #PB_Any , 0, 0, x, Y, "" , $81000000)
     InitSprite ()
     OpenWindowedScreen ( WindowID (Win), 0, 0, x, Y, 0, 0, 0)
     ProcedureReturn Win
EndProcedure
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

@Dobro

Tu me redonnes espoir :D
J'étais en train de me prendre le crâne à mélanger Menu, PopUpMenu et OpenWindowedScreen.
En effet, j'ai un bug étrange: le programme démarre mais je reste dans l'éditeur PB, jusqu'à ce que je stoppe le programme depuis le débogueur.


A priori, après un OpenWindow(), les 3 fonctions:
- CreateGadgetList()
- CreateMenu()
- CreatePopUpMenu()
ont un ordre bien précis de programmation. J'ai l'impression qu'on ne peut pas créer ses Gadgets avant d'avoir créé ses menus.

Tu peux essayer le code suivant. C'est ton code avec un rajout de TreeGadget(). Sur le mien, ça ne fonctionne pas. J'ai peut-être zappé un tuto là-dessus?

Code : Tout sélectionner

Declare OpenScreen_ () 

Win0 = OpenScreen_ () 

Tmp = #PB_Window_SystemMenu ; Autorise le menu système sur la barre de titre. 
Tmp | #PB_Window_MinimizeGadget ; Ajoute l'icône 'Réduire' sur la barre de titre. #PB_Window_SystemMenu est ajouté automatiquement. 
Tmp | #PB_Window_MaximizeGadget ; Ajoute l'icône 'Agrandir' sur la barre de titre. #PB_Window_SystemMenu est ajouté automatiquement. 
Tmp | #PB_Window_SizeGadget ; Ajoute LES possibilités de redimensionnement à la fenêtre. 
Tmp | #PB_Window_TitleBar ; Crée la fenêtre avec une barre de titre. 
Tmp | #PB_Window_WindowCentered ; Centre la fenêtre au milieu de la fenêtre mère ('FenetreMereID' doit être spécifié). LES paramètres x,y sont ignorés. 

Win1 = OpenWindow ( #PB_Any , 0, 0, 400, 200, "Fenêtre d'essai" , Tmp) 

;************************************************************
;************************************************************
; ICI RAJOUT DE CODE QUI VA BUGGER
;************************************************************

If CreateGadgetList(WindowID(Win1) )
  TreeGadget(29, 0, 0, 300, 300)
  AddGadgetItem(29, 0, "Root", 0, 0)
EndIf

;************************************************************
; FIN RAJOUT DE CODE
;************************************************************
;************************************************************



If CreatePopupMenu (0) ; La création du menu contextuel commence... 
     MenuTitle ( "Projet" ) ; Vous pouvez utiliser toutes les commandes relatives au menu, 
     MenuItem (1, "Ouvrir" ) ; comme si c'était un menu normal... 
     MenuItem (2, "Enregistrer" ) 
     MenuItem (3, "Enregistrer sous" ) 
     MenuItem (4, "Quitter" ) 
     MenuBar () 
     OpenSubMenu ( "Fic&hiers récents" ) 
     MenuItem (5, "PureBasic.exe" ) 
     MenuItem (6, "Test.txt" ) 
     CloseSubMenu () 
     MenuTitle ( "Editer" ) 
     MenuTitle ( "Options" ) 
EndIf

;************************************************************
;************************************************************
; PAR CONTRE SI LE RAJOUT EST ICI, CA FONCTIONNERA
;************************************************************





;************************************************************
; ICI RAJOUT
;************************************************************
;************************************************************


Repeat 
     Select WaitWindowEvent () ; Examine quel type d'évènement est survenu sur la fenêtre 
         Case #WM_RBUTTONDOWN ; Le bouton droit de la souris a été clické => 
             DisplayPopupMenu (0, WindowID (Win1 )) ; On affiche le menu contextuel 
         Case #PB_Event_Menu ; Un élément du menu a été sélectionné 
             Select EventMenu () ; On recupère le numéro de cet élement... 
                 Case 1 : Debug "Menu : Ouvrir" 
                 Case 2 : Debug "Menu : Enregistrer" 
                 Case 3 : Debug "Menu : Enregistrer sous" 
                 Case 4 : Quitter = 1 
                 Case 5 : Debug "Menu : PureBasic.exe" 
                 Case 6 : Debug "Menu : Text.txt" 
             EndSelect 
         Case #PB_Event_CloseWindow 
            Quitter = 1 
     EndSelect 
Until Quitter = 1 




MessageRequester ( "" , "Une fenêtre dans un screen intégral" ) 


Procedure OpenScreen_ () 
     ExamineDesktops () 
    x = DesktopWidth (0) 
    Y = DesktopHeight (0) 
    Win = OpenWindow ( #PB_Any , 0, 0, x, Y, "" , $81000000) 
     InitSprite () 
     OpenWindowedScreen ( WindowID (Win), 0, 0, x, Y, 0, 0, 0) 
     ProcedureReturn Win 
EndProcedure 

Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ollivier a écrit :C'est ton code avec un rajout de TreeGadget(). Sur le mien, ça ne fonctionne pas. J'ai peut-être zappé un tuto là-dessus?

chez moi ça marche niquel !! 8O

tu as la version 4.10 d'installé ou pas ?

moi je suis en 4.10 !! :) ça viendrai de la, que ça m'étonnerai guerre :lol:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

PB 4.02 8O
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ollivier a écrit :PB 4.02 8O
pffffff ! et il s'etonne ... pffffff ! :lol: :lol: :lol:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Ben écoute. Je débarque :o
Chui un pti jeune! (29/06)
Je suis peut-être accroché au train mais ça ne m'empêche pas de courir encore sur le quai :D

Bon ben je vais essayer la nouvelle version. J'espère qu'elle est en Fr. ça m'arrangerait. Et puis j'espère que mes 1er source sont compatibles sans trop de correction...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ollivier a écrit :Ben écoute. Je débarque :o
Chui un pti jeune! (29/06)
Je suis peut-être accroché au train mais ça ne m'empêche pas de courir encore sur le quai :D

Bon ben je vais essayer la nouvelle version. J'espère qu'elle est en Fr. ça m'arrangerait. Et puis j'espère que mes 1er source sont compatibles sans trop de correction...
il n'y a pas de problèmes majeur de compatibilité depuis la version 4.00 !

seul le passage de 3.92 (94) a 4.00 a pu poser des problèmes !! :)
Répondre