Donner le focus à ExplorerListGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Donner le focus à ExplorerListGadget

Message par SpaceMan »

salut à tous !
je voudrais fais un truc banal mais impossible pour moi 8O L'ExplorerCombo doit donner le focus à Explorerlist après qu'on ait sélectionné un repertoire

Code : Tout sélectionner

;{- Enumerations
;{ Windows
Enumeration
  #Window_0
EndEnumeration
;}
;{ Status bars
Enumeration
  #StatusBar_Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #ExplorerComboGadget
  #ExplorerListGadget_0
EndEnumeration
Global Disk$
Disk$ = "C:\"
;}
;}

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 170, 120, 652, 410, "Example", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget)
    CreateGadgetList(WindowID(#Window_0))  
      ExplorerComboGadget(#ExplorerComboGadget, 1, 3, 650, 200, Disk$, #PB_Explorer_Editable)
      ExplorerListGadget(#ExplorerListGadget_0, 0, 30, 651, 360, Disk$, #PB_Explorer_MultiSelect|#PB_Explorer_AutoSort);|#PB_Explorer_FullRowSelect)
      SetGadgetItemAttribute(#ExplorerListGadget_0, 0,#PB_Explorer_ColumnWidth, 330)
      CreateStatusBar(#StatusBar_Window_0, WindowID(#Window_0))
      ; Gadget Resizing
      ;PureRESIZE_SetGadgetResize(#ExplorerListGadget_0, 1, 1, 1, 1)
      ;PureRESIZE_SetGadgetResize(#ExplorerComboGadget, 1, 1, 1, 1)
    EndIf
EndProcedure

OpenWindow_Window_0()

Repeat
  Select WaitWindowEvent()
    
    ; ///////////////////
      Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      Select EventGadget()
        Case #ExplorerComboGadget:Disk$ = GetGadgetText(#ExplorerComboGadget)
          SetGadgetText(#ExplorerListGadget_0, Disk$)
          
        Case #ExplorerListGadget_0
          If  EventType() = #PB_EventType_LeftDoubleClick
            MessageRequester("Info","double clique",#MB_ICONINFORMATION|#MB_OK)
          EndIf   
      EndSelect
      ; //////////////////////  
      
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        Break
      EndIf
  EndSelect 
ForEver
;comment faire pour qu'après sélection, ExplorerComboGadget perd le focus et le donne à explorerList ?
;sinon on clique 2 fois avant de pouvoir sélectionner un élément après un changement de répertoire !
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message par gnozal »

SetActiveGadget(#ExplorerListGadget_0)
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message par SpaceMan »

Merci gnozal deja essayer mas ça ne marche pas 8O
le changement de repertoire ne se fait meme pas anant que l'ExplorerList ne prenne la main.
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message par gnozal »

Je pense que je ne comprends pas exactement ton problème ...
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Code : Tout sélectionner

      Select EventGadget()
        Case #ExplorerComboGadget:Disk$ = GetGadgetText(#ExplorerComboGadget)
          SetGadgetText(#ExplorerListGadget_0, Disk$)
          If  EventwParam()
            SetActiveGadget(#ExplorerListGadget_0)
          EndIf 
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message par SpaceMan »

@gnozal
je crois que j'ai un probleme d'expression que je vais tâcher de résoudre.
Merci quand même

nickel nico
Merci beaucoup :D
kerkael
Messages : 97
Inscription : mer. 03/sept./2008 21:08

Message par kerkael »

Help ... Je lis le code et je ne comprends pas cela :

Code : Tout sélectionner

 Case #ExplorerComboGadget:Disk$ = GetGadgetText(#ExplorerComboGadget)
          SetGadgetText(#ExplorerListGadget_0, Disk$)
Que représente l'utilisation des 2 points : dans le case ?

Je ne comprends pas la syntaxe.

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

Message par Ar-S »

Les : évitent simplement le retour à la ligne

Code : Tout sélectionner

enumeration
#aaa : #bbb : #ccc
endenumeration

équivaut à

enumeration
#aaa 
#bbb 
#ccc
endenumeration
~~~~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
kerkael
Messages : 97
Inscription : mer. 03/sept./2008 21:08

Message par kerkael »

M'ci.

C'est bien ce qu'il me semblait, mais comme ça venait après un case je me demandais si ça avait une incidence sur la sélection.
Comme les sélection multiples se font avec une virgule, je voyais pas ce que les 2 points faisaient là.
Répondre