; 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