WindowOutput()
Syntaxe
Resultat = WindowOutput(#Fenetre)Description
Renvoie la valeur OutputID d'une fenêtre nécessaire à la fonction StartDrawing() de la bibliothèque Dessin 2D pour effectuer les dessins 2D directement dessus.
Arguments
#Fenetre La fenêtre à utiliser.
Valeur de retour
Renvoie l'OutputID de la fenêtre afin d'effectuer un rendu 2D directement dessus.
Remarques
La mémoire allouée par WindowOutput() est libérée avec StopDrawing().
Le contenu dessiné sur une fenêtre sera effacé dès que la fenêtre ou une partie de cette dernière sera recouverte par une autre fenêtre, quand elle sera déplacée en dehors de l'écran ou quand elle sera cachée ou minimisée. Pour garder le contenu visible, il est obligatoire de le redessiner après chaque évènement #PB_Event_Repaint. Une manière plus confortable pour afficher un dessin sur une fenêtre est d'utiliser une image et ImageGadget() qu'il est possible de mettre à jour avec SetGadgetState(). Tout l'affichage sera géré par le gadget.
Exemple: Dessin sans #PB_Event_Repaint
; Faites disparaître une partie de la fenêtre en dehors de l'écran
If OpenWindow(0, 0, 0, 220, 100, "Exemple...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget (1, 10, 60, 200, 30, "Dessiner sur la fenêtre")
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
; Dessin d'un rectangle rouge sur la fenêtre
If StartDrawing(WindowOutput(0))
Box(10,10, 200, 30, RGB(255, 0, 0))
StopDrawing()
EndIf
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Exemple: Dessin avec #PB_Event_Repaint
; Faites disparaître une partie de la fenêtre en dehors de l'écran
If OpenWindow(0, 0, 0, 220, 100, "Exemple...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Repaint
StartDrawing(WindowOutput(0))
Box(10, 10, 50, 50, RGB(255, 0, 0))
StopDrawing()
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Voir aussi
StartDrawing(), WindowVectorOutput()
OS Supportés
Tous