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.