Page 1 sur 1

Sélection auto d'un élément d'un explorerlistgadget

Publié : jeu. 16/déc./2004 14:35
par Le Soldat Inconnu
je cherche à sélectionner en auto un élément d'un explorerlistgadget

mais visiblement SetGadgetState ou SetGadgetItemState ne donne rien

On peut passer par l'APi ou il faut que je passe par une ListIconGadget pour avoir y accès ?

Code : Tout sélectionner

OpenWindow(0, 0, 0, 500, 500, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Test") 

CreateGadgetList(WindowID()) 

ExplorerListGadget(0, 0, 0, 500, 480, "c:\", #PB_Explorer_NoFolders | #PB_Explorer_NoParentFolder) 
ButtonGadget(1, 0, 480, 500, 20, "cliquez ici pour sélectionné le premier élément") 

Repeat 
  Event = WaitWindowEvent() 

  If Event = #PB_Event_Gadget 
    Select EventGadgetID() 
      Case 1 
        SetGadgetState(0, 0) ; On sélectionne le premier élément, marche pas
    EndSelect 
  EndIf 

Until Event = #PB_Event_CloseWindow

Publié : jeu. 16/déc./2004 15:27
par Anonyme2

Code : Tout sélectionner

;- LVITEM
Structure LVITEM
   mask.l
   iItem.l
   iSubItem.l
   state.l
   stateMask.l
   pszText.l
   cchTextMax.l
   iImage.l
   lParam.l
   iIndent.l
   iGroupId.l
   cColumns.l
   puColumns.l
EndStructure


OpenWindow(0, 0, 0, 500, 500, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Test") 

CreateGadgetList(WindowID()) 

ExplorerListGadget(0, 0, 0, 500, 480, "c:\", #PB_Explorer_NoFolders | #PB_Explorer_NoParentFolder) 
ButtonGadget(1, 0, 480, 500, 20, "cliquez ici pour sélectionné le premier élément") 

Repeat 
  Event = WaitWindowEvent() 

  If Event = #PB_Event_Gadget 
    Select EventGadgetID() 
      Case 1
         Nb_Item = 0  ; l'index de l'élément à sélectionner
         Item.LVITEM\mask = #LVIF_STATE
         Item.LVITEM\state = #LVIS_SELECTED 
         Item.LVITEM\statemask = #LVIS_SELECTED
         SendMessage_(GadgetID(0),#LVM_SETITEMSTATE, Nb_Item , @Item)
         ActivateGadget(0)  ; pour donner le focus à la liste
    EndSelect 
  EndIf 

Until Event = #PB_Event_CloseWindow

Publié : jeu. 16/déc./2004 15:32
par Le Soldat Inconnu
Merci Denis :D