Page 1 sur 2

sélection dans ExplorerListGadget

Publié : mer. 25/juil./2007 23:30
par SpaceMan
salut à tous !
je cherche depuis ce matin la commande qui permet de sélectionner un élément dans une ExplorerListGadget (comme "setgadgetstate" pour la listIconGadget)
Merci

Publié : jeu. 26/juil./2007 20:14
par Ollivier

Code : Tout sélectionner

Selection.L = GetGadgetStat(#Gadget)

sélection dans ExplorerListGadget

Publié : jeu. 26/juil./2007 21:14
par SpaceMan
Slt Ollivier

Code : Tout sélectionner

Selection.L = GetGadgetStat(#Gadget)
permet de recupérer
une sélection enfin je crois. mais ce que je cherche c'est plutot du genre
SetGadgetState(#Gadget,#Etat) qui ne marche malheureusement pas dans ExplorerListGadget.(je voudrais qu'un élément soit Présélectionné lorsque j'exécute mon programme).
Voici un petit code

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 500, 250, "ExplorerListGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
  CreateGadgetList(WindowID(0))
  ExplorerListGadget(0, 10, 10, 480, 230, "C:\", #PB_Explorer_MultiSelect)
  ;SetGadgetState(0,5)
  SetGadgetItemState(0,1,#PB_Explorer_Selected)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf 
; jaPBe Version=3.7.7.650
; Build=0
; Language=0x0000 Language Neutral
; FirstLine=0
; CursorPosition=6
; ExecutableFormat=Windows
; DontSaveDeclare
; EOF
j'utilise SetGadgetState(0,5) qui ne marche pas et SetGadgetItemState(0,1,#PB_Explorer_Selected) non plus.
Au secours SVP ![/quote]

Publié : jeu. 26/juil./2007 21:52
par Ollivier
Ah oui... En effet... Beh non! :(

Publié : ven. 27/juil./2007 8:21
par gnozal

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 500, 250, "ExplorerListGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
  CreateGadgetList(WindowID(0)) 
  ExplorerListGadget(0, 10, 10, 480, 230, "C:\", #PB_Explorer_MultiSelect | #PB_Explorer_AlwaysShowSelection) 
  ;
  ; WINDOWS UNIQUEMENT
  ;
  ; Sélectionner l'élément 1 du gadget 0
  LVITEM.LV_ITEM
  LVITEM\mask = #LVIF_STATE	
  LVITEM\state = #LVIS_SELECTED
  LVITEM\stateMask = #LVIS_SELECTED
  SendMessage_(GadgetID(0), #LVM_SETITEMSTATE, 1, @LVITEM)
  ;
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf

Publié : ven. 27/juil./2007 8:26
par Ollivier
Ah non... En effet... Beh si! :D :D :D

Publié : ven. 27/juil./2007 15:48
par SpaceMan
@ Ollivier
Ah non... En effet... Beh si! :D :D :D
ben ouais :D :D :D
Merci à vous :D

Publié : ven. 27/juil./2007 16:18
par Ollivier
C'était Gnozal parce que moi pas possible

Publié : sam. 28/juil./2007 9:08
par brossden
Avce le code de Gnozal que je salue ici ainsi que tout le monde, tu peux aussi selectionner plusieurs lignes simultanéement :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 500, 250, "ExplorerListGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  CreateGadgetList(WindowID(0))
  ExplorerListGadget(0, 10, 10, 480, 230, "C:\", #PB_Explorer_MultiSelect | #PB_Explorer_AlwaysShowSelection)
  LVITEM.LV_ITEM
  LVITEM\mask = #LVIF_STATE   
  LVITEM\state = #LVIS_SELECTED
  LVITEM\stateMask = #LVIS_SELECTED
  SendMessage_(GadgetID(0), #LVM_SETITEMSTATE, 3, @LVITEM)
  SendMessage_(GadgetID(0), #LVM_SETITEMSTATE, 4, @LVITEM)
  SendMessage_(GadgetID(0), #LVM_SETITEMSTATE, 7, @LVITEM)

  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Salut à tous

Publié : dim. 29/juil./2007 16:32
par SpaceMan
@ brosden
merci pour ce supplément ca va me servir c'est certain. :)

Merci à tous pour votre aide.

Publié : lun. 30/juil./2007 20:03
par SpaceMan
bonjour à tous
jai un serieux problème que je ne comprends pas d'ailleurs
Tout était normal avec ce code maintenant je ne peux copier qu' 1 dossier même si j'en sélectionnais 6.
pour les fichier pas de problème.

essayer ce code SVP !

Code : Tout sélectionner

;{- Enumerations / DataSections 
;{ Windows 
Enumeration 
  #Window_0 
EndEnumeration 
;} 
;{ Toolbars 
Enumeration 
  #Toolbar_Window_0 
EndEnumeration 
;} 
;{ Menu bars 
Enumeration 
  #Menu_Window_0 
EndEnumeration 
;} 
;{ Menu/Toolbar items 
Enumeration 
  #Menu_Window_0_0_Couper 
  #Menu_Window_0_1_Coupier 
  #Menu_Window_0_2_Coller 
  #Menu_Window_0_3_Quitter 
  #Menu_Window_0_4_Aide 
  #Menu_Window_0_5_APropos 
  #Toolbar_Window_0_0_Copy 
  #Toolbar_Window_0_1_Cut 
  #Toolbar_Window_0_2_Paste 
  #Toolbar_Window_0_3_Properties 
  #Toolbar_Window_0_4_Help 
EndEnumeration 
;} 
;{ Gadgets 
Enumeration 
  #ExplorerCombo_0 
  #ExplorerList_1 
  #Button_2 
  #Button_3 
  #Button_4 
EndEnumeration 
;} 
Global Disk$,Disk1$,Chemin$ 
Disk$ = "C:\" 
Define.l Event, EventWindow, EventGadget, EventType, EventMenu 
;} 
Procedure OpenWindow_Window_0() 
  If OpenWindow(#Window_0, 524, 379, 485, 313, "Window_0", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered) 
    If CreateMenu(#Menu_Window_0, WindowID(#Window_0)) 
      MenuTitle("Menu") 
      MenuItem(#Menu_Window_0_0_Couper, "Couper") 
      MenuItem(#Menu_Window_0_1_Coupier, "Coupier") 
      MenuItem(#Menu_Window_0_2_Coller, "Coller") 
      MenuBar() 
      MenuItem(#Menu_Window_0_3_Quitter, "Quitter") 
      MenuTitle("Aide") 
      MenuItem(#Menu_Window_0_4_Aide, "Aide") 
      MenuItem(#Menu_Window_0_5_APropos, "A Propos") 
    EndIf 
    If CreateToolBar(#Toolbar_Window_0, WindowID(#Window_0)) 
      ToolBarStandardButton(#Toolbar_Window_0_0_Copy, #PB_ToolBarIcon_Copy) 
      ToolBarStandardButton(#Toolbar_Window_0_1_Cut, #PB_ToolBarIcon_Cut) 
      ToolBarStandardButton(#Toolbar_Window_0_2_Paste, #PB_ToolBarIcon_Paste) 
      ToolBarStandardButton(#Toolbar_Window_0_3_Properties, #PB_ToolBarIcon_Properties) 
      ToolBarStandardButton(#Toolbar_Window_0_4_Help, #PB_ToolBarIcon_Help) 
    EndIf 
    If CreateGadgetList(WindowID(#Window_0)) 
      ExplorerComboGadget(#ExplorerCombo_0, 5, 30, 475, 100, "c:\") 
      ExplorerListGadget(#ExplorerList_1, 5, 60, 475, 190, "c:\",#PB_Explorer_MultiSelect);|#PB_Explorer_NoDirectoryChange) permet de ne pas changer de rep 
      ButtonGadget(#Button_2, 185, 265, 100, 20, "Couper") 
      ButtonGadget(#Button_3, 5, 265, 100, 20, "Copier") 
      ButtonGadget(#Button_4, 375, 265, 100, 20, "Coller") 
    EndIf 
  EndIf 
EndProcedure 

OpenWindow_Window_0() 

;{- Event loop 
Repeat 
  Event = WaitWindowEvent() 
  Select Event 
    ; /////////////////// 
    Case #PB_Event_Gadget 
      EventGadget = EventGadget() 
      EventType = EventType() 
      If EventGadget = #ExplorerCombo_0 
        Disk$ = GetGadgetText(#ExplorerCombo_0) 
        SetGadgetText(#ExplorerList_1, GetGadgetText(#ExplorerCombo_0)) 
        
      ElseIf EventGadget = #ExplorerList_1 
        If  EventType() = #PB_EventType_LeftDoubleClick 
          ; ////////////////////////// 
          MessageRequester("Info",GetGadgetText(#ExplorerList_1) + GetGadgetItemText(#ExplorerList_1, GetGadgetState(#ExplorerList_1), 0),# MB_ICONINFORMATION) 
          ; ////////////////////////// 
        EndIf 
      ElseIf EventGadget = #Button_2 
      ElseIf EventGadget = #Button_3 ; pour copier des éléments sélectionnés 
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
        If GetGadgetState(#ExplorerList_1) > -1  ; au moins un élément est sélectionné 
          CheminInitial$ = "C:\" 
          Chemin$ = PathRequester("Choisissez le répertoire de destination", CheminInitial$) 
          If Chemin$ ; un chemin a été choisi 
            For i = 0 To CountGadgetItems(#ExplorerList_1) - 1 
              If GetGadgetItemState(#ExplorerList_1, i) & #PB_Explorer_Selected ; un élément est sélectionné et c'est ... 
                Debug GetGadgetItemText(#ExplorerList_1, i, 0) + " est sélectionné" 
                If  GetGadgetItemState(#ExplorerList_1, i) & #PB_Explorer_Directory ; ... un répertoire 
                  Debug "CopyDirectory(" + GetGadgetText(#ExplorerList_1) + GetGadgetItemText(#ExplorerList_1, i, 0) + ", " + Chemin$ + ", " + #DQUOTE$ + "*.*" + #DQUOTE$ + " ,#PB_FileSystem_Recursive )" 
                  CopyDirectory(GetGadgetText(#ExplorerList_1) + GetGadgetItemText(#ExplorerList_1, GetGadgetState(#ExplorerList_1), 0),Chemin$ + GetGadgetItemText(#ExplorerList_1, GetGadgetState(#ExplorerList_1), 0), "*.*" ,#PB_FileSystem_Recursive) 
                  
                ElseIf  GetGadgetItemState(#ExplorerList_1, i) & #PB_Explorer_File ; ... un fichier 
                  Debug "CopyFile(" + GetGadgetText(#ExplorerList_1) + GetGadgetItemText(#ExplorerList_1, i, 0)+ ", " + Chemin$ + GetGadgetItemText(#ExplorerList_1, i, 0) + ") " 
                  CopyFile(GetGadgetText(#ExplorerList_1) + GetGadgetItemText(#ExplorerList_1, i, 0), Chemin$ + GetGadgetItemText(#ExplorerList_1, i, 0))     
                
                EndIf 
              EndIf 
            Next 
          EndIf 
        EndIf 
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        
      ElseIf EventGadget = #Button_4 
      EndIf 
      ; ///////////////// 
    Case #PB_Event_Menu 
      EventMenu = EventMenu() 
      If EventMenu = #Menu_Window_0_0_Couper 
      ElseIf EventMenu = #Menu_Window_0_1_Coupier 
      ElseIf EventMenu = #Menu_Window_0_2_Coller 
      ElseIf EventMenu = #Menu_Window_0_3_Quitter 
      ElseIf EventMenu = #Menu_Window_0_4_Aide 
      ElseIf EventMenu = #Menu_Window_0_5_APropos 
      ElseIf EventMenu = #Toolbar_Window_0_0_Copy 
      ElseIf EventMenu = #Toolbar_Window_0_1_Cut 
      ElseIf EventMenu = #Toolbar_Window_0_2_Paste 
      ElseIf EventMenu = #Toolbar_Window_0_3_Properties 
      ElseIf EventMenu = #Toolbar_Window_0_4_Help 
      EndIf 
      ; //////////////////////// 
    Case #PB_Event_CloseWindow 
      EventWindow = EventWindow() 
      If EventWindow = #Window_0 
        CloseWindow(#Window_0) 
        Break 
      EndIf 
  EndSelect 
ForEver 
; 
;} 
; jaPBe Version=3.7.7.649 
; Build=0 
; Language=0x0000 Language Neutral 
; FirstLine=95 
; CursorPosition=124 
; ExecutableFormat=Windows 
; DontSaveDeclare 
; EOF 
; jaPBe Version=3.7.7.650 
; Build=0 
; Language=0x0000 Language Neutral 
; FirstLine=87 
; CursorPosition=97 
; ExecutableFormat=Windows 
; DontSaveDeclare 
; EOF

Publié : mar. 31/juil./2007 5:46
par Ollivier
Houlà! Un code pour les fichiers le matin avant d'aller au boulot ça va pas le faire! Pour ma part, je regarde ça ce soir vers 18h.

Publié : mar. 31/juil./2007 7:31
par Lna
Ca fonctionne mieux avec les points sur les i. 8)

CopyDirectory(GetGadgetText(#ExplorerList_1) + GetGadgetItemText(#ExplorerList_1, i, 0),Chemin$ + GetGadgetItemText(#ExplorerList_1, i, 0), "*.*" ,#PB_FileSystem_Recursive)

Pour la peine, tu seras condamné à réviser ton alphabet en regardant le clip de Peter Kitsch. :wink:

Image

http://www.youtube.com/watch?v=Db0LCDY-AjQ

@ peluche

Publié : mar. 31/juil./2007 8:00
par Kwai chang caine
@LNA

Salut, ça fait un bail que l'on a pas lu tes jolis POSTS poetiques.

D'ailleur on parlait de toi, y'a pas bien longtemps ...

http://www.purebasic.fr/french/viewtopi ... 7868#67868

Je suis content de voir qu'une des seules et trop rare représentantes de la gente féminine va bien.
Et toujours aussi performante à ce que je vois :wink:

Publié : mar. 31/juil./2007 8:35
par Backup
Kwai chang caine a écrit :@LNA

Salut, ça fait un bail que l'on a pas lu tes jolis POSTS poetiques.

D'ailleur on parlait de toi, y'a pas bien longtemps ...

http://www.purebasic.fr/french/viewtopi ... 7868#67868

Je suis content de voir qu'une des seules et trop rare représentantes de la gente féminine va bien.
Et toujours aussi performante à ce que je vois :wink:

t'es vraiment qu'un fayot toi !! 8O :roll: :lol: :lol: