[OK] COMBOBOX ouverture via bouton

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

[OK] COMBOBOX ouverture via bouton

Message par Ar-S »

Salut,
Je ne pense pas que ce soit faisable sans API mais sait on jamais..
J'aimerai qu'une COMBOBOXGADGET s'ouvre lorsque je clique sur un bouton tiers.
Vous avez ça dans votre hotte ?

J'ai eu beau cherché je tombe sur plusieurs pages d'anciens topic traitant de comboboxgadget mais pas de son ouverture.
Merci d'avance
~~~~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
Christophe
Messages : 43
Inscription : lun. 22/oct./2018 19:34
Localisation : Haisnes (62)

Re: COMBOBOX ouverture via bouton

Message par Christophe »

@Ar-s, avec API...

Code : Tout sélectionner

OpenWindow(0,0,0,400,200,"ComboBox",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ComboBoxGadget(0,10,40,100,20)
ButtonGadget(1,120,40,100,20,"Ouverture")

For x=0 To 10
  AddGadgetItem(0,-1,"Item "+Str(x),0,0)
Next

Repeat
  e=WaitWindowEvent()
  Select e
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 0
          Debug GetGadgetText(0)
        Case 1
          SendMessage_(GadgetID(0),#CB_SHOWDROPDOWN,1,1)
      EndSelect
  EndSelect
  
Until e = #PB_Event_CloseWindow

Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: COMBOBOX ouverture via bouton

Message par Ar-S »

Parfait.
Merci Christophe
~~~~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
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: [OK] COMBOBOX ouverture via bouton

Message par PAPIPP »

Bonjour Ar-s

Peut être un peu plus simple

Code : Tout sélectionner

OpenWindow(0,0,0,400,200,"ComboBox",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ComboBoxGadget(0,10,40,100,20)
; ButtonGadget(1,120,40,100,20,"Ouverture")
For x=0 To 10
  AddGadgetItem(0,-1,"Item "+Str(x),0,0)
Next

procedure combobox()
  Debug GetGadgetText(Eventgadget())
  debug getgadgettext(0)
endprocedure
BindgadgetEvent(0,@combobox())
Repeat 
Until WaitWindowEvent() = #PB_Event_CloseWindow


A+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [OK] COMBOBOX ouverture via bouton

Message par Ar-S »

Salut PAPIPP
ton code n'ouvre pas le combo. Idem si je dé-commente ton button et que je clique..
~~~~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
Marc56
Messages : 2148
Inscription : sam. 08/févr./2014 15:19

Re: [OK] COMBOBOX ouverture via bouton

Message par Marc56 »

Ar-S a écrit :Je ne pense pas que ce soit faisable sans API mais sait on jamais..
J'aimerai qu'une COMBOBOXGADGET s'ouvre lorsque je clique sur un bouton tiers.
Alternative simple: Si les éléments à afficher sont stockés dans une liste et non pas dans le gadget lui-même, alors il suffit d'utiliser une ListeViewGadget que tu affiches et supprimes après usage.

:wink:
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [OK] COMBOBOX ouverture via bouton

Message par Ar-S »

Pas dans le cadre d'une playliste "longue". Le gadget ne pouvant déborder de la fenêtre.
~~~~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
Marc56
Messages : 2148
Inscription : sam. 08/févr./2014 15:19

Re: [OK] COMBOBOX ouverture via bouton

Message par Marc56 »

Le gadget peut lui-même être dans une fenêtre (sans bordures). Fenêtre positionnée aux coordonnées x et y de l’emplacement initial. Ainsi il peut dépasser de la fenêtre principale. C'est comme cela que j’affichais mon curseur de volume à la verticale). La fenêtre se ferme quelques secondes après avoir perdu le focus de la souris (astuce avec un Timer) ou en cliquant à nouveau sur le bouton.
(Maintenant, j'utilise des containers pour les affichages multiples au même endroit)

:wink:
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [OK] COMBOBOX ouverture via bouton

Message par Ar-S »

Je sais bien qu'on peut toujours créer une fenêtre invisible et tout le toutim... mais...
Alternative simple
heu... :wink:

je préfère SendMessage_().. Mon lecteur n'étant pas crossplateform
~~~~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
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: [OK] COMBOBOX ouverture via bouton

Message par Ollivier »

@Marc56

Merci d'avoir partagé cette expérience. Si c'est sans saccade ni appel intempestif de disque dur, c'est une bonne astuce.

Ça ne semble pas simple. Mais le contrôle est supérieur : ça permet de modifier les évènements déclencheurs, comme les effets, plus librement...

Ça me fait penser que sous Windows, il y avait une API :
UpdateLayeredWindow() qui permettait de skinner une fenêtre Borderless.

A l'époque, pas d'image avec couche Alpha en PB, donc procédures pour se farcir la couche Alpha.

Le MSDN, qui n'était qu'en Anglais indiquait une fonction non encore complète :
UpdateLayeredWindowEx()

Il y avait des paramètres vides pour rajouter, à l'avenir du Scrolling. Si ça peut aider pour les longues listes semi-transparentes...

[Edit]Après succintes vérifications, il semblerait que les deux variables X et Y de scrolling aient complètement disparu de la circulation. J'ai encore trouvé le moyen de passer pour un hérétique mythomane !
Répondre