[EX] Contrôler les éléments listés sur un tableau

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Numeric
Niveau 5
Niveau 5
Messages : 106
Enregistré le : mer. 23 mars 2016 08:17
Status : Hors ligne

[EX] Contrôler les éléments listés sur un tableau

#1

Message par Numeric » sam. 21 mai 2016 19:32

Salut à tous :D ,
Pour ceux qui aimeraient pouvoir créer un menu contextuel basé sur les éléments listés sur un tableau :( a partir d'un clic droit)
cet exemple peut vous inspirer.
NB:
- seulement les tableau 1D
-Les boutons n'apparaissent que si vous allez les utiliser : leur donnez un nom
bref!

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------

 AutoIt Version : 3.3.14.2
 Auteur:         Numeric

 Fonction du Script : ArrayDisplay avec context menu NB: 1D Array
	Modèle de Script AutoIt.

#ce ----------------------------------------------------------------------------
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <GUIListView.au3>
#include <SendMessage.au3>

;#Exemple.............
$aArray = StringSplit("Mr De L'eau,Mr Le Grand, La secretaire,Poste n°1,Mr le Chat,Mr LE Directeur,Mr l'adjoint",",")
;#Fin d'exemple


$Exemple5 =  _ArrayDisplayToControlID($aArray,"Valider","","Supprimer","","Connecter,Voir les details,Voir l'adresse IP")

;Vous pouvez tester ceci pour les controles
;$Exemple =  _ArrayDisplayToControlID($aArray,"","","","","Connecter,Voir les details,Voir l'adresse IP")

Func _ArrayDisplayToControlID(ByRef $aArray, $Func1_button_name ='',$Func1='', $Func2_button_name='',$Func2 ='',$Option_NameSplit_Virgule ='')
	;#Region Local variable
	Local $width = 615, $height = 474, $left = 192, $top = 124
	;#EndRegion

    Local $Form1 = GUICreate(" ", 615, 474, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
    Local $List1 = GUICtrlCreateListView("Liste des ordinateurs",64, 24, 457, 381, 0)
    Local $Button1 = GUICtrlCreateButton($Func1_button_name, 136, 432, 75, 25)
    Local $Button2 = GUICtrlCreateButton($Func2_button_name, 408, 432, 75, 25)

   ;#Region Controls conditions#
   If $Func1_button_name ='' Then
	 GUICtrlSetState($Button1,$GUI_HIDE)
   EndIf

   If $Func2_button_name ='' Then
	 GUICtrlSetState($Button2,$GUI_HIDE)
   EndIf
   ;#EndRegion Controle conditions#


  GUISetState(@SW_SHOW)

  ;#Liste view variables
  Local $ContextMenu, $ContextMenuItem, $ListeSwitchable, $ItemList
  ;#End variable

  If Not IsArray($aArray) Then Return SetError(1,1,MsgBox(16,'error','invalid array'))


  ;Liste view Item

  For $i = 1 To $aArray[0]

	  If $aArray[$i] <>'' Then

        $ItemList = GUICtrlCreateListViewItem($aArray[$i],$List1)

			;Context Menu
	    $ContextMenu  = GUICtrlCreateContextMenu($ItemList) ;ContextMenu pour les options

	If $Option_NameSplit_Virgule <>'' Then ;Si la liste des options n'est pas vide

       $Read_Options = StringSplit($Option_NameSplit_Virgule,',') ;Recuperation de la liste des options ecrites en parametre et diferenciees par des virgules


	  For $p = 1 To $Read_Options[0] ;lecture liste d'options


	  $ContextMenuItem = GUICtrlCreateMenuItem($Read_Options[$p],$ItemList)



      Next ;Fin de lecture des options
    EndIf ; End condition : Liste non vide
	  EndIf; End condition si un ou des elements du tableau ne sont pas vide
  Next; End Lecture du tableau




   While 1
      $nMsg = GUIGetMsg()
Switch $nMsg
	Case $GUI_EVENT_CLOSE
             ExitLoop


	Case $Button1

	Case $Button2

EndSwitch

    WEnd

EndFunc













De 0 et 1 vers les étoiles , tout part du Binaire, Numeric

Avatar du membre
Numeric
Niveau 5
Niveau 5
Messages : 106
Enregistré le : mer. 23 mars 2016 08:17
Status : Hors ligne

Re: [EX] Contrôler les éléments listés sur un tableau

#2

Message par Numeric » lun. 30 mai 2016 01:23

Salut, a propos de cet exemple, vous pouvez aller plus loin dans vos démarches ...
Vous trouverez ici : http://www.autoitscript.fr/forum/viewto ... 21&t=14084 l 'UDF ArrayMaster qui vous permet d'avoir le contrôle total des éléments listés sur un tableau.. 8)
De 0 et 1 vers les étoiles , tout part du Binaire, Numeric

Répondre