wxLua et wxWidgets:
Mode d'emploi.
 wxWidgets
Lua
Flèche gauche accueil wxWidgets lua notes Flèche droite
Description détaillée.

Classe: wxMultiChoiceDialog().

Affiche une boîte de dialogue avec une liste de noms dont "UN" ou "PLUSIEURS" peuvent être sélectionnés.

Le constructeur: Explication.
multipleChoix = wx.wxMultiChoiceDialog(
  wxWindow       * parent, 
  const wxString & message,  = "Ceci est un petit message.",
  const wxString & caption,  = "Titre de la boîte de dialogue",
  const wxString * choices,  = liste de noms..,
  long  style,               = wx.wxCHOICEDLG_STYLE,
  const wxPoint  & pos       = wx.wxDefaultPosition	 
  )

parent est la fenêtre qui détient la boite de dialogue.

choices Un tableau ou une liste de noms pouvant être choisis.

style La valeur par défaut, wx.wxCHOICEDLG_STYLE est équivalent à wx.wxDEFAULT_DIALOG_STYLE + wx.wxOK + wx.wxRESIZE_BORDER + wx.wxCANCEL + wx.wxCENTRE.

pos position de la boîte de dialogue. (non utilisé sous MS Windows)

Les méthodes.

Vous trouverez ci-dessous, la liste des méthodes implémentées par wxLua 2.8.10.

GetSelection()Retourne l'index de l'élément sélectionné.
SetSelection(x)Définit l'index de l'élément sélectionné initialement. le premier nom de la liste correspond au N°0.
GetStringSelection()Retourne le nom de la ligne sélectionnée.
ShowModal()Permet de sélectionner les boutons wx.wxID_OK, et wx.wxID_CANCEL.
Destroy()*Détruit la boîte de dialogue en toute sécurité.

* Destroy(): Utilisez cette fonction au lieu de supprimer l'opérateur.
Cadres et boîtes de dialogues ne sont pas détruits immédiatement lorsque cette fonction est appelée - ils sont ajoutés à la liste des fenêtres à supprimer plus tard, lorsque tous les événements de la fenêtre auront été traités.

Un exemple concret d'utilisation.

Vous allez trouver dans le code suivant, un appel à: string.format().
Il s'agit d'une fonction de base Lua... Voir à ce sujet, le chapitre consacré à ce langage.

Vous trouverez aussi un appel à wxArrayString() qui construit un conteneur afin d'y stocker des objets de type chaîne de caractères.

Ainsi qu'un appel à wxArrayInt() qui construit lui aussi un conteneur, mais spécialisé dans le stockage des objets de type integer.

require("wx") -- inutile si on utilise wxluafreeze.exe

-- Création d'un conteneur pour stocker des strings.
local liste = wx.wxArrayString()
-- Création de la liste.
liste:Add("un")
liste:Add("deux")
liste:Add("trois")
liste:Add("quatre")
liste:Add("cinq")
liste:Add("six")

-- Création de la boîte de dialogue.
local dialog = wx.wxMultiChoiceDialog(wx.NULL, "Choisissez un 
         ou plusieurs chiffres.", "Boîte de sélection", liste)

if (dialog:ShowModal() == wx.wxID_OK) then
	local selections = wx.wxArrayInt()
	selections = dialog:GetSelections()
	local msg = wx.wxString()
	msg = string.format(("Vous avez sélectionné %u articles.\n"), 
	                      selections:GetCount())
	for n = 1, selections:GetCount() do
		msg = msg.. string.format(("\t%d: %s\n"), n, 
		                        liste:Item(selections:Item(n-1)))
	end

	wx.wxMessageBox(msg, "Votre choix")
    dialog:Destroy()
else
	dialog:Destroy()
end

-- Démarrage de l'application.
dialog:Show(true)
wx.wxGetApp():MainLoop()

Ce qui donne comme résultat.

image01

image02

logo wxWidgets Le savoir ne vaut que s'il est partagé par tous...
logo-internet_32x32.png Dernière mise à jour, le 14 octobre 2012.
Valid XHTML 1.0 Transitional

wxMultiChoiceDialog
Revenir en Haut
Connexion à la base de données impossible