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

Programmation d'applications complexes
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

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

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Merci Denis :D
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre