Page 1 sur 2
Problème: faire une sous fenetre en plein écran
Publié : dim. 27/mai/2007 21:02
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 !!!

@+

Publié : dim. 27/mai/2007 22:37
par minirop
tu ouvre une fenêtre en plein ecran en passant l'ID de ta fenêtre en dernier paramètre, non ?
Re: Problème: faire une sous fenetre en plein écran
Publié : dim. 27/mai/2007 23:23
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 !!!

@+

pour quoi faire ?
tu peux éventuellement faire une fenêtre qui contient des gadgets et un écran...
Publié : lun. 28/mai/2007 9:50
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...

Publié : lun. 28/mai/2007 11:26
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

et swapper de l'une a l'autre

(comme degas elite)
a noter qu'une fenetre-ecran (OpenWindowedScreen()) peut tres bien ne pas avoir de bordures

; on peut meme la faire ronde !!

Publié : sam. 07/juil./2007 1:55
par Ollivier
Finalement, par cette astuce, ça devient possible
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
Publié : sam. 07/juil./2007 7:30
par Backup
Ollivier a écrit :Finalement, par cette astuce, ça devient possible
en definitif tu fais ce que j'ai ecris plus haut !

c'est a dire ouvrir un ecran dans une fenetre !

Publié : sam. 07/juil./2007 7:37
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!
Publié : sam. 07/juil./2007 10:50
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
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
Publié : sam. 07/juil./2007 13:53
par Ollivier
@Dobro
Tu me redonnes espoir
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
Publié : sam. 07/juil./2007 14:17
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 !!
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

Publié : sam. 07/juil./2007 14:21
par Ollivier
PB 4.02

Publié : sam. 07/juil./2007 14:44
par Backup
Publié : sam. 07/juil./2007 14:54
par Ollivier
Ben écoute. Je débarque
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
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...
Publié : sam. 07/juil./2007 15:23
par Backup
Ollivier a écrit :Ben écoute. Je débarque
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
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 !!
