Basic Univers
; Afficher une fenêtre dans un Screen

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