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

Classe: wxMenuBar().

Une barre de menus est une série de menus accessibles par le haut de la frame.

Mode d'emploi.

Pour répondre à une sélection du menu, il faut un gestionnaire d'évènements wx.wxEVT_MENU, positionné dans le cadre qui contient la barre de menus.

Si vous avez une barre d'outils qui utilise les mêmes identifiants que vos entrées wx.wxEVT_MENU, les événements de la barre d'outils seront également générés par vos gestionnaires d'événements wx.wxEVT_MENU.

Sous Windows, si vous découvrez que les raccourcis du menu (par exemple, Alt-F pour afficher le menu fichier) ne fonctionnent pas, vérifiez tous les événements wx.wxEVT_CHAR.
Et si vous n'avez pas appelé event.Skip() pour les événements en question, alors les raccourcis du menu peuvent ne pas fonctionner correctement.

Mais en principe, avec wxLua vous n'aurez pas à vous préocuper de tout ça!... Lua s'occupe de tout....

Le constructeur: Explication.

Le constructeur de cette classe, se présente de la façon suivante:

On créer d'abord une barre de menus vide.

	menuBar = wx.wxMenuBar()
				

Puis on la remplit avec les menus définis précédement.

	menuBar:Append(objMenu1, "nomObjMenu1")
	menuBar:Append(objMenu2, "nomObjMenu2")
	...etc.
					

Et on affecte le barre de menus à la frame.

	frame:SetMenuBar(menuBar)
					
Les méthodes.

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

Append(objetMenu, "titre")Ajoute un objetMenu sous le nom "titre"
Check(id, true)Coche ou décoche un élément du menu.
Enable(id, true)Active ou désactive (en gris) un élément du menu.
FindMenu("titre")Recherche l'index du menu avec le titre "titre" ou wxNOT_FOUND si aucun menu n'est trouvé.
FindMenuItem("menu", "item")Recherche l'id du menu pour un "menu" / "item", par paire.
FindItem(id, objetMenu)Recherche l'item du menu associé à "id".
GetHelpString(id)Obtient la chaîne d'aide associé à l'id du menu.
GetLabel(int id)Obtient le label associé à l'id du menu.
GetLabelTop(int pos)Renvoie le label du menu de niveau supérieur.
GetMenu(menuIndex)Retourne le menu situé à "menuIndex" (basé sur zéro).
GetMenuCount()Retourne le nombre de menus dans ce menu.
Insert (pos, objMenu, "titre")Insère un menu à la position donnée dans la barre de menu.
IsChecked(id)Détermine si un élément est coché.
IsEnabled(id)Détermine si un élément est activé.
Refresh()Redessine la barre de menu.
Remove(pos)Enlève le menu de la barre de menu et retourne l'objet menu - mais ne supprime pas l'objet.
Replace(pos, objMenu, "titre")Remplace le menu à la position donnée par un autre.
SetHelpString(id, "aide")Définit la chaîne d'aide associé à l'id du menu.
SetLabel(id, "label")Définit le label situé à l'id du menu.
SetLabelTop(pos, "label")Définit le label du menu de niveau supérieur.

Un exemple de code.
require("wx")  -- inutile si on utilise wxluafreeze.exe

local frame = nil

function main()
-- Création d'une frame.
	frame = wx.wxFrame(wx.NULL, wx.wxID_ANY, "wxMenuBar")
	frame:Centre()
	
-- Création des menus.
	local menu1 = wx.wxMenu(); local menu2 = wx.wxMenu()
	local menu3 = wx.wxMenu(); local menu4 = wx.wxMenu()
	local menu5 = wx.wxMenu()

--  Céation de la barre de menus.
	local menuBar = wx.wxMenuBar()

-- On affecte les menus à la barre de menus.
	menuBar:Append(menu1, "Fichier")
	menuBar:Append(menu2, "Edition")
	menuBar:Append(menu3, "Affichage")
	menuBar:Append(menu4, "Outils")
	menuBar:Append(menu5, "Aide")

-- Affectation de la barre de menus à la frame.
	frame:SetMenuBar(menuBar)

-- Création d'une barre d'état avec un seul champ.(1)
	frame:CreateStatusBar(1)
	frame:SetStatusText("Welcome dans ce petit exemple.")

	frame:Show(true)
end

main()
wx.wxGetApp():MainLoop()	
				

Ce qui donne comme résultat.

image01.png

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

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