Je voudrais créer une fenêtre dans une autre mais je n'y arrive pas.
Je pensais que l'option FenetreMereID me permettait de le faire.
hwnd = OpenWindow(0,300,350,400,400,#PB_Window_SystemMenu,"DropDown")
hwnd1.l = OpenWindow(1,0,100,400,100,#PB_Window_BorderLess,"DropDown",hwnd)
Une idée......!!!
Une Fenêtre incrustée dans une autre fenêtre !
je n'y connais rien ; mais il me semble que le sujet a déjà été abordé ici ? ou ça n'a rien à voir ? bon tu verras bien si tu peux en tirer quelque chose 
http://purebasic.hmt-forum.com/viewtopic.php?t=143

http://purebasic.hmt-forum.com/viewtopic.php?t=143
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
Puis je cré la fenêtre rouge invisible puis avec les commandes SetWindowStyles() j'attribue le style à cette fenêtre rouge, avec la commande SetWindowParent() 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.
Il faut se reporter à l'aide de ces librairies pour utiliser les commandes.
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
Puis je cré la fenêtre rouge invisible puis avec les commandes SetWindowStyles() j'attribue le style à cette fenêtre rouge, avec la commande SetWindowParent() 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.
Il faut se reporter à l'aide de ces librairies pour utiliser les commandes.
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