Classe: wxDirDialog()
Cette boîte de dialogue affiche la boîte de sélection de répertoires, permettant à l'utilisateur de sélectionner un dossier.
dirDialog = wx.wxDirDialog ( wxWindow * parent, = wx.NULL const wxString & message = " titre ", const wxString & defaultPath = "nom du répertoire", long style = wx.wxFD_DEFAULT_STYLE, const wxPoint & pos = wx.wxDefaultPosition )
parent est la fenêtre qui détient la boite de dialogue.
message est le titre de la boîte de dialogue.
defaultPath est le nom du répertoire à utiliser par défault.
style est le style de la boîte de dialogue.
wx.wxDefaultPosition, peut aussi s'écrire, wx.wxPoint(x, y).
Vous trouverez ci-dessous, la liste des méthodes implémentées par wxLua 2.8.10.
| GetPath() | Retourne le path sélectionné par l'utilisateur. |
| GetMessage() | Retourne le message qui est affiché sur la boîte de dialogue. |
| SetMessage | Définit le message qui sera affiché sur la boîte de dialogue. |
| ShowModal() | Permet de sélectionner les boutons wx.wxID_OK, et wx.wxID_CANCEL. |
| SetPath | Définit le chemin par défaut. |
require("wx") -- inutile si on utilise wxluafreeze.exe
-- Création d'une frame et de son panel.
local frame = wx.wxFrame(wx.NULL, wx.wxID_ANY, "wxDirDialog")
local panel = wx.wxPanel(frame, -1)
-- Centrage de la frame au milieu de l'écran.
frame:Centre()
---------------------------------------------------------------
-- Création d'une barre de menus.
local menuBar = wx.wxMenuBar()
-- Création d'une fenêtre "menu".
local fileMenu = wx.wxMenu( {{wx.wxID_OPEN, "Ouvrir",
"Recherche de répertoire"}} )
-- On met le fileMenu dans la menuBar
menuBar:Append(fileMenu, "Fichier")
-- On met la menuBar dans la frame
frame:SetMenuBar(menuBar)
function OpenDirDialog(event)
local texte = "Sélectionnez le répertoire de votre choix."
-- Création de la boîte de dialogue.
local dirDialog = wx.wxDirDialog( wx.NULL, texte, "",
wx.wxDD_DEFAULT_STYLE)
if (dirDialog:ShowModal() == wx.wxID_OK) then
local path = dirDialog:GetPath()
wx.wxMessageBox(path)
end
end
frame:Connect(wx.wxID_OPEN, wx.wxEVT_COMMAND_MENU_SELECTED,
OpenDirDialog)
-- Démarrage de l'application.
wx.wxGetApp():SetTopWindow(frame)
frame:Show(true)
wx.wxGetApp():MainLoop()
Ce qui donne comme résultat.


