PB_FX

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

PB_FX

Message par microdevweb »

Bonjour à tous,

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)

Image

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
Le code du Main qui donne le résultat ci-dessus

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
:mrgreen: Yes i know it's again designed in opp. But what do you want, i very like that
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: PB_FX

Message par Micoute »

Moi aussi, j'aime ça, merci pour le partage.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Marc56
Messages : 2145
Inscription : sam. 08/févr./2014 15:19

Re: PB_FX

Message par Marc56 »

Intéressant, mais:
If Not myWin\open()
Debug myWin\get_error()
N'affichera rien car les lignes Debug sont ignorées lors de la compilation.
Préférer un MessageRequester()

Else
BindEvent(#PB_Event_CloseWindow,@Exit(),myWin\get_objectId())
...
Il ne se passera rien non plus, car on ne peut faire de Bind...(CloseWindow) sans fenêtre

Logique ? :wink:
Répondre