[Résolu] Ajout automatique de Gadget + ContainerGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

[Résolu] Ajout automatique de Gadget + ContainerGadget

Message par Golfy »

Bonjour à tous,

1) j'ai plusieurs gadgets que je voudrais ajouter automatiquement (découverte de modules domotiques) mais les coordonnées pourraient dépasser la taille de la fenêtre principal (openwindow).
Existe-t-il un "ascenseur" (scrollgadget) dans ce cas ? ou quel gadget dois-je employer ?

2) j'aimerai utiliser les panel (pour même raison mais aussi avoir plusieurs "vues" ou plusieurs fonctions). Dois-je utiliser un ContainerGadget pour chaque onglet du panel, ou bien chaque panel est défini (comment ajouter dynamiquement un gadget alors ?), etc...

des exemples de codes m'intéressent pour comprendre et pouvoir adapter, voir créer mon système
Dernière modification par Golfy le ven. 12/oct./2012 14:29, modifié 1 fois.
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Ajout automatique de Gadget + ContainerGadget

Message par Ar-S »

Perso je trouve plus clair d'utiliser un ContainerGadget.
ça s'avère aussi bien pratique lorsque tu dois cacher/afficher une série de gadgets.
Pour tes gadgets ajoutés, pourquoi ne redimensionnes tu pas simplement la fenêtre lors de l'ajout de ces gadgets avec un

Code : Tout sélectionner

ResizeWindow(#Fenetre, 1, 1, LargeurWindow + Largeur Gadget, HauteurWindow + hauteurgadget )
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: Ajout automatique de Gadget + ContainerGadget

Message par Fred »

Essaie avec ScrollAreaGadget()
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Ajout automatique de Gadget + ContainerGadget

Message par falsam »

Avec un exemple (j'ai été grillé par le Maître des lieux :p)

Code : Tout sélectionner

Enumeration
  #Mainform
  #Container
EndEnumeration


Define.l Event, WEvent, MEvent, GEvent, TEvent

Global WindowStyle.i=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered, X.i

Procedure Open_MainForm()
  OpenWindow(#Mainform, 0, 0, 500, 400, "New Form", WindowStyle)
  ScrollAreaGadget(#Container, 0, 0, 500, 400, 450, 1500,#PB_ScrollArea_BorderLess)
  For X=1 To 50
    TextGadget(#PB_Any, 10, X*25, 50, 20, "Item "+Str(X))
    StringGadget(#PB_Any, 60, X*25, 150, 20, "Item "+Str(X))
  Next
 CloseGadgetList() 

EndProcedure

Open_MainForm()

;Tu découvres un gadget à ajouter 
OpenGadgetList(#Container)
ListViewGadget(#PB_Any, 10, X*25, 300, 100)
CloseGadgetList()


Repeat
  Event  = WaitWindowEvent(10)
  WEvent = EventWindow() ;different de WindowEvent() :p (oui je me suis fais avoir !!!)
  MEvent = EventMenu()
  GEvent = EventGadget()
  TEvent = EventType()
  Select Event
    Case #PB_Event_Gadget
      Select GEvent
      EndSelect
        
    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

[Résolu] Re: Ajout automatique de Gadget + ContainerGadget

Message par Golfy »

falsam a écrit :Avec un exemple (j'ai été grillé par le Maître des lieux :p)
oui, mais tu as fourni un exemple parfait ! j'ai compris comment fonctionne ScrollAreaGadget :D

C'est exactement ce qu'il me faut 8)

Merci à tous !
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: Ajout automatique de Gadget + ContainerGadget

Message par Golfy »

Ar-S a écrit :Perso je trouve plus clair d'utiliser un ContainerGadget.
ça s'avère aussi bien pratique lorsque tu dois cacher/afficher une série de gadgets.
Pour tes gadgets ajoutés, pourquoi ne redimensionnes tu pas simplement la fenêtre lors de l'ajout de ces gadgets avec un

Code : Tout sélectionner

ResizeWindow(#Fenetre, 1, 1, LargeurWindow + Largeur Gadget, HauteurWindow + hauteurgadget )
Rien ne m'empèchera d'utiliser un ScrollAreaGadget dans un ContainerGadget :D

ton idée est bonne mais lorsque tu ajoutes des gadgets (comme des courbes de températures ou autres...) à un moment, tu risque fortement de dépasses la hauteur de l'écran physique :roll:
Image

Par contre, tu utilises ContainerGadget dans PanelGadget ou bien PanelGadget est déjà une sorte de container ? en gros quelles sont les différences ?
Dans mon esprit, je voyais un onglet "Tableau de bord", un onglet "RdC" et un autre "1er étage" me permettant d'interagir avec mes modules (par l'intermédiaire des gadgets créés dynamiquement pour la petite histoire).
Enfin un onglet "Conditions" ou "Evènements" pour automatiser certaines tâches... ce dernier point, on en reparlera dans un autre topic 8)
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Répondre