V. La création d'une barre de menus▲
Plusieurs objets graphiques sont nécessaires à la création d'une barre de menus : la barre elle-même, les menus, le panel de chaque menu et les items des menus. Un exemple sera plus parlant :
V-A. Code source▲
 class NotreWindow ...
 private:
    ....
   FXMenuBar *menu_barre; 
   FXMenuTitle *menu_file, *menu_edition;
   FXMenuPane *file_pan, *edition_pan;
   FXMenuCommand *item_nouveau, *item_open, *item_close, *item_undo, *item_copy;
    ...
 };       ...
 menu_barre=new FXMenuBar(this,LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X,0,0,0,0,3,3,2,2,DEFAULT_SPACING,DEFAULT_SPACING);
       
 file_pan   =new FXMenuPane(this,0);
 edition_pan=new FXMenuPane(this,0);
 
 menu_file=new FXMenuTitle(menu_barre,"Fichier",NULL,file_pan,0);
   item_nouveau=new FXMenuCommand(file_pan,"Nouveau",NULL,this,ID_NEW,0);
   item_open   =new FXMenuCommand(file_pan,"Ouvrir" ,NULL,this,ID_OPEN,0);
   item_close  =new FXMenuCommand(file_pan,"Fermer" ,NULL,this,ID_CLOSE,0);
 
 menu_edition=new FXMenuTitle(menu_barre,"Edition",NULL,edition_pan,0);
   item_undo   =new FXMenuCommand(edition_pan,"Annuler",NULL,this,ID_UNDO,0);
   item_copy   =new FXMenuCommand(edition_pan,"Copier" ,NULL,this,ID_COPY,0);
      ...Le code source n'est pas complet, il ne contient que les morceaux de code qu'il faut rajouter dans les codes précédents. La structure de la fenêtre étant sensiblement la même.
V-B. Explications▲
 menu_barre = new FXMenuBar(this,LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X,0,0,0,0,3,3,2,2,DEFAULT_SPACING,DEFAULT_SPACING);Cette instruction créé une barre de menus. Le premier argument est un pointeur sur l'objet dans lequel la barre devra se trouver, ici, la fenêtre. L'autre argument contient les drapeaux définissant l'aspect de la barre.
 file_pan = new FXMenuPane(this,0);Cette instruction créé un panel pour un menu déroulant. Cela va donc créer un espace graphique à dérouler. On remarquera la présence de l'argument this, qui pointe sur l'objet contenant le panel, ici, la fenêtre.
 menu_file = new FXMenuTitle(menu_barre,"Fichier",NULL,file_pan,0);Cette instruction crée un menu déroulant dans la barre de menus, 
	 avec un intitulé "Fichier", sans icône, associé au panel file_pan, sans 
	 option particulière.
Il ne reste plus qu'à remplir notre menu avec les items souhaités :
 item_nouveau = new FXMenuCommand(file_pan,"Nouveau",NULL,this,ID_NEW,0);Nous créons ici un item associé au panel file_pan, intitulé 
	"Nouveau" . Cet item n'a pas d'icône (NULL). Il enverra ses messages à 
	this, ici, la fenêtre. Les messages qu'il enverra seront du type 
	ID_NEW. Le dernier argument correspond aux drapeaux de positionnement 
	et d'allure de l'item.
 
	Il ne reste plus maintenant qu'à déclarer les message ID_NEW, ID_CLOSE... 
	dans le type énuméré de la classe NotreWindow, à les déclarer dans la 
	macro FXDEFMAP et à implémenter les méthodes que vous souhaitez leur 
	associer.
 
	D'un point de vue esthétique, il est possible de rajouter des séparateurs 
	entre les items d'un menu :
 FXMenuSeparator *sep1 = new FXMenuSeparator(file_pan,0);



