Je trouve personnellement qu'il manque à PureBasic des composant tel que les panels. Par contre il existe la technique des dialogs mais cette dernière n'est pas toujours intuitive.
J'ai donc commencé un petit module pour faire cela de façon plus intuitive. Donc ceci n'est qu'un aperçu c'est loin d'être fini.
Remarque : L'utilisation est assez simple (pas le code du module avec un mécanisme d'héritage multiple assez complexe)
Télécharger depuis Github
Zip content :
- Modules
- __FX.pbi
- FX.pbi
- FX_Classes
- Button.pbi
- Expands.pbi
- Gadget.pbi
- HBox.pbi
- Object.pbi
- Pänel.pbi
- Transform.pbi
- VBox.pbi
- Window.pbi
- Main.pb
Code : Tout sélectionner
XIncludeFile "Modules\FX.pbi"
myWin.FX::Window = FX::new_window(800,600,"test")
myWin\set_canBeResised(#True)
myWin\set_canBeMaximised(#True)
vb.FX::VBox = FX::new_Vbox()
hb.FX::HBox = FX::new_Hbox()
Define.FX::Button bt1,bt2,bt3,bt4,bt5
bt1 = FX::new_button("Button 1")
bt2 = FX::new_button("Button 2")
bt3 = FX::new_button("Button 3")
bt4 = FX::new_button("Button 4")
bt5 = FX::new_button("Button 5")
hb\add(bt1)
hb\add(bt2)
hb\add(bt3)
vb\add(hb)
vb\add(bt4)
vb\add(bt5)
myWin\add(vb)
Procedure Exit()
End
EndProcedure
If Not myWin\open()
Debug myWin\get_error()
Else
BindEvent(#PB_Event_CloseWindow,@Exit(),myWin\get_objectId())
Repeat : WaitWindowEvent() : ForEver
EndIf