Page 1 sur 1
[R] Création d'un comboxbox multivaleur
Posté : jeu. 17 sept. 2009 22:31
par cg061101
Bonjour,
Je souhaiterais créer un objet de type combobox ( en tout cas dans l'aspet graphique) pour lequel l'utilisateur pourrait sélectionner plusieurs valeurs.
J'ai cru que c'était une possibilité de la ComboBox, mais je ne trouve pas de paramètre s'y rapportant.
Ma question est :
Est-il possible de faire des sélections multiples dans un ComBox? Si oui comment ? Si non, comment réaliser une fonction similaire ? Où puis-je trouver un exemple ?
Merci d'avance pour votre aide.
cg
Re: [..] Création d'un comboxbox multivaleur
Posté : ven. 18 sept. 2009 08:32
par pop45
Dans l'aide c'est asse bien expliquer
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $menu1, $n1, $n2, $msg, $menustate, $menutext
GUICreate("My GUICtrlRead") ; will create a dialog box that when displayed is centered
$menu1 = GUICtrlCreateMenu("File")
$n1 = GUICtrlCreateCombo("", 10, 10, -1, 100)
GUICtrlSetData(-1, "item1|item2|item3", "item2")
$n2 = GUICtrlCreateButton("Read", 10, 110, 50)
GUICtrlSetState(-1, $GUI_FOCUS) ; the focus is on this button
GUISetState() ; will display an empty dialog box
; Run the GUI until the dialog is closed
Do
$msg = GUIGetMsg()
If $msg = $n2 Then
MsgBox(0, "Selected listbox entry", GUICtrlRead($n1)) ; display the selected listbox entry
$menustate = GUICtrlRead($menu1) ; return the state of the menu item
$menutext = GUICtrlRead($menu1, 1) ; return the text of the menu item
MsgBox(0, "State and text of the menuitem", "state:" & $menustate & @LF & "text:" & $menutext)
EndIf
Until $msg = $GUI_EVENT_CLOSE
EndFunc ;==>Example
Se qui nous interesse la par exemple c'est sa
Code : Tout sélectionner
$n1 = GUICtrlCreateCombo("", 10, 10, -1, 100); c'est sa qui cree le combo
GUICtrlSetData(-1, "item1|item2|item3", "item2") ; c'est sa qui donne les valeur différente a la combo
et
Code : Tout sélectionner
MsgBox(0, "Selected listbox entry", GUICtrlRead($n1)) ; display the selected listbox entry
si tu veut mettre un valeur a $var avec la valeur qu'il y a dans la combo tu met sa
Je pense avoir aider sauf si tu a pas compris
Re: [..] Création d'un comboxbox multivaleur
Posté : ven. 18 sept. 2009 15:48
par Tlem
Je pense surtout que cg061101 veut pouvoir choisir (en maintenant la touche CTRL enfoncée par exemple)
plusieurs valeurs du ComboBox.
Perso, je ne connais pas de contrôle de ce genre, par contre vous pourriez faire ceci avec une ListBox ou composant similaire.
La multi-sélection, ne peut fonctionner que pour les composants possèdent cette option :
ListBox, ListView, TreeView.

Re: [R] Création d'un comboxbox multivaleur
Posté : sam. 19 sept. 2009 15:54
par cg061101
OK c'est bien la listBox qui semble le plus approprié, je regarde comment utiliser cet objet.
Merci pour cette info et pour le détail d'utilisation de la combo
cg

Re: [..] Création d'un comboxbox multivaleur
Posté : sam. 26 sept. 2009 22:47
par sylvanie
bonsoir,
j'ai sous le coude un code que j'ai remodifié, mais pour du listview, si ça peut aider ...
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
Example()
Func Example()
Local $listview, $button, $item1, $item2, $item3, $input1, $msg,$dimension_item
GUICreate("listview items", 220, 250, 100, 200, -1, $WS_EX_ACCEPTFILES)
GUISetBkColor(0x00E0FFFF) ; will change background color
$listview = GUICtrlCreateListView("titre ", 10, 10, 200, 150,$LVS_REPORT);,$LVS_SORTDESCENDING)
;GUICtrlSetState(-1,BitXOR(GUICtrlGetState(-1),$LVS_SINGLESEL))
$button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
$item1 = GUICtrlCreateListViewItem("item1", $listview)
$item2 = GUICtrlCreateListViewItem("item2", $listview)
$item3 = GUICtrlCreateListViewItem("item3", $listview)
$input1 = GUICtrlCreateInput("", 20, 200, 150)
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
GUISetState()
Do
$msg = GUIGetMsg()
Select
Case $msg = $button
MsgBox(0,"selected",Display_selected($listview))
EndSelect
Until $msg = $GUI_EVENT_CLOSE
EndFunc ;==>Example
Func Display_selected($listview_param)
Local $str_ret = ""
Local $indice_selected,$tab_indice_selected
Local $ind
$indice_selected = ControlListView ( "listview items", "", $listview_param, "GetSelected" , 1 )
ConsoleWrite($indice_selected)
$tab_indice_selected = StringSplit($indice_selected,"|")
For $ind = 1 To $tab_indice_selected[0]
$str_ret&=ControlListView ( "listview items", "",$listview_param, "GetText", $tab_indice_selected[$ind])&@CRLF
Next
Return $str_ret
EndFunc