Pour compiler ce code, il faut les librairies externes WindowEx version 2 il me semble de Roger Beausoleil alias VPurebasic ainsi que la librairies de Danilo SkinWin qui est dans son pack.
On cré 2 fenêtres, une bleue et une rouge.
je colorie la fenêtre #FenetreBleue en bleu foncé avec la commande SetWinBackgroundColor(#FenetreBleue, $D4BE76)
Puis je charge l'icône (les datas) et j'affiche un bouton avec cet icône sur cette fenêtre bleue
je défini la fenêtre mère te la fenêtre enfant. Et enfin je colorie en rouge et j'affiche la fenêtre rouge.
Code : Tout sélectionner
;;======================================================================
;; constantes
;;======================================================================
Enumeration
#FenetreRouge
#FenetreBleue
#BoutonQuitter
#IconeQuitter
EndEnumeration
;;======================================================================
;;======================================================================
If OpenWindow(#FenetreBleue, 0, 0, 400, 250, #PB_Window_ScreenCentered ," Fenêtre dans fenêtre")
BarreTitre = WindowID()
SetWinBackgroundColor(BarreTitre , $D4BE76)
; ShowTitlebar(BarreTitre , #false)
If CreateGadgetList(BarreTitre )
IconeQuitter = CatchImage(#IconeQuitter, ?QuitterIco) ; charge l'icône petite croix pour fermer les fenêtres
If IconeQuitter
ButtonImageGadget(#BoutonQuitter, WindowWidth() - ImageWidth() - 25, 4, ImageWidth(), ImageHeight(), IconeQuitter)
Else
MessageRequester(" Erreur", " impossible de charger l'image ?QuitterIco", 16)
End
EndIf
EndIf
; ; création de la fenêtre rouge
If OpenWindow(#FenetreRouge, 150, 125, 100, 75 ,#PB_Window_Invisible, "")
HwndFenetrePrincipale = WindowID(#FenetreRouge)
SetWindowStyles(#FenetreRouge, #WS_CLIPCHILDREN | #WS_CHILD, #WS_VISIBLE)
SetWindowParent(#FenetreRouge, #FenetreBleue)
SetWinBackgroundColor(HwndFenetrePrincipale , 255) ; 255 = couleur rouge
HideWindow(#FenetreRouge, 0) ; affiche la fenêtre rouge
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #BoutonQuitter
Quit + 1
EndSelect
Case #PB_EventCloseWindow
Quit + 1
EndSelect
Until quit
EndIf
End
DataSection
QuitterIco :
Data.l $00010000, $10100001, $00010000, $03680018, $00160000, $00280000
Data.l $00100000, $00200000, $00010000, $00000018, $03400000, $00000000
Data.l $00000000, $00000000, $00000000, $00000000, $CECECE00, $B6B6B6B6
Data.l $B6B6B6B6, $B6B6B6B6, $B6B6B6B6, $B6B6B6B6, $B6B6B6B6, $B6B6B6B6
Data.l $B6B6B6B6, $B6B6B6B6, $00CECECE, $00000000, $FFDFFF00, $FFFFFFFF
Data.l $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF
Data.l $FFFFFFFF, $FFDFFFFF, $CEB6B6B6, $DFFFCECE, $E97E65FF, $13BD3713
Data.l $3F1DBD37, $BF3F1DBF, $18C03C18, $3812C03C, $C0350DC2, $05C12E05
Data.l $2C02C12E, $E8765BC0, $B6FFDFFF, $FFFFB6B6, $DE4119FF, $25DE4E25
Data.l $5835DE4E, $E25835E2, $2CE25431, $5223E455, $E94B13E6, $0AE8430A
Data.l $3904E843, $C02C02E0, $B6FFFFFF, $FFFFB6B6, $E24E26FF, $FFE35B3A
Data.l $FFFFFFFF, $E25835FF, $2CE25431, $5223E455, $E94B13E6, $FFFFFFFF
Data.l $430AFFFF, $C12E05E8, $B6FFFFFF, $FFFFB6B6, $E24E26FF, $FFE35B3A
Data.l $FFFFFFFF, $FFFFFFFF, $37E76640, $5D2CE863, $FFFFFFE9, $FFFFFFFF
Data.l $430AFFFF, $C12E05E8, $B6FFFFFF, $FFFFB6B6, $E25431FF, $46E56546
Data.l $FFFFE565, $FFFFFFFF, $37FFFFFF, $FFFFE863, $FFFFFFFF, $0EFFFFFF
Data.l $480EE948, $C0350DE9, $B6FFFFFF, $FFFFB6B6, $E45F3FFF, $50E66D50
Data.l $7054E66D, $FFFFFFE7, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $1CE65223
Data.l $4B1CE04B, $C03C18E0, $B6FFFFFF, $FFFFB6B6, $E5684BFF, $5AE8755A
Data.l $7356E875, $E66C4FE7, $FFFFFFFF, $FFFFFFFF, $E45024FF, $24DF4C1F
Data.l $5024E450, $BF3F1DE4, $B6FFFFFF, $FFFFB6B6, $E77054FF, $62E97C62
Data.l $755AE97C, $FFFFFFE8, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $2CE24E26
Data.l $502CE150, $BE4223E1, $B6FFFFFF, $FFFFB6B6, $E8785DFF, $6CEB866C
Data.l $FFFFEB86, $FFFFFFFF, $3FFFFFFF, $FFFFE45F, $FFFFFFFF, $2CFFFFFF
Data.l $512CE151, $BE4223E1, $B6FFFFFF, $FFFFB6B6, $E9836AFF, $FFED947E
Data.l $FFFFFFFF, $FFFFFFFF, $48E76F53, $5F3FE567, $FFFFFFE4, $FFFFFFFF
Data.l $5431FFFF, $BE4223E2, $B6FFFFFF, $FFFFB6B6, $E9836AFF, $FFED947E
Data.l $FFFFFFFF, $EB866CFF, $5EE97E65, $765BE879, $E77054E8, $FFFFFFFF
Data.l $5431FFFF, $BE4223E2, $B6FFFFFF, $FFFFB6B6, $EE9883FF, $7EF0A895
Data.l $947EED94, $EB866CED, $5EE97E65, $765BE879, $E77054E8, $48E56848
Data.l $5937E568, $BF4121E3, $B6FFFFFF, $DFFFB6B6, $F2B5A6FF, $65ED947E
Data.l $7E65E97E, $E8785DE9, $53E77356, $6D50E76F, $E56748E6, $3FE45F3F
Data.l $512CE45F, $EA8670E1, $CEFFDFFF, $0000CECE, $FFDFFF00, $FFFFFFFF
Data.l $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF
Data.l $FFFFFFFF, $FFDFFFFF, $00000000, $01800000, $00800000, $00000000
Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
Data.b 0, 0, -128, 3, 0, 0
Fin_QuitterIco :
EndDataSection