#1 Wed 07 August 2002 14:22
- Remi Durand
- Invité
grisage de sous-menu
De: remi
Salut la compagnie !
Voici un nouveau mystere que j'aimerais percer avec votre aimable collaboration
Je souhaite creer un menu par la commande :
create Menu nom du menu ID 10 as
Nom du sous-menu 1 ID 101 calling subnom1,
Nom du sous-menu 2 ID 102 calling subnom2
alter Menu bar add nom du menu
ce menu apparait et les sous-menus sont egalement actifs
par contre des que je souhaite griser ces menus (dans la suite du code) par la commande :
alter Menu Item ID 102 Disable
il apparait une erreur interne 33012 que j'espere etre anodine et c'est precisement sur ce point que j'aimerais un eclaircissement
merci a tous
#2 Wed 07 August 2002 16:38
- Geo Maumet
- Invité
Re: grisage de sous-menu
Bonjour,
J'ai deja remarque que mapinfo s'embrouille avec des Id sur les menus
Essayez plutot
create Menu nom du menu ID 10 as
Nom du sous-menu 1 ID 101 calling subnom1,
Nom du sous-menu 2 ID 102 calling subnom2
alter Menu bar add nom du menu
alter Menu Item subnom2 Disable
Salut
Laurent
#3 Wed 07 August 2002 16:38
- Dominique Houot
- Invité
Re: grisage de sous-menu
Je pense que l'erreur provient de l'utilisation d'un Id reserve(101
Fichier/Nouveau, 102 Fichier/ouvrir etc.).
Voir le fichier menu.def pour les Id deja utilise). Commencer a 1000 par exemple
Dominique HOUOT
#4 Wed 07 August 2002 16:38
- Julien PEYROUSE
- Invité
Re: grisage de sous-menu
Bonjour,
Le probleme vient de l'utilisation des ID. Quand on affecte un ID a un
objet, cet ID n'est accessible qu'a partir d'une sous-routine appelee
directement du menu avec 'calling'.
Pour pouvoir griser le menu dans la suite du code utilisez plutot la syntaxe
suivante :
Alter Menu Item subnom2 Disable
En faisant reference au nom de la procedure et non par l'ID.
Salutations.
#5 Wed 07 August 2002 16:38
- Jacques Paris
- Invité
Re: grisage de sous-menu
J'aime bien les explications donnees, surtout l'usage de codes d'ID deja
definis dans MapInfoW.MNU. Cela est certainement suffisant et rassurant.
Mais j'ai fait une petite experience. Dans la fenetre MapBasic j'ai execute
les lignes suivantes : (j'ai supprime les calling parce que les sub sont
interdites dans ce milieu)
create Menu nom du menu ID 10 as
Nom du sous-menu 1 ID 101 ,
Nom du sous-menu 2 ID 102
alter Menu bar add nom du menu
puis
alter Menu Item ID 102 Disable
et cela marche. Je pense savoir pourquoi cela fonctionne dans ce milieu mais
mes explications sont tres farfelues et quand j'ai essaye de les expliciter,
on m'a rit au nez. Et pourtant a cette occasion je me rends compte que je
n'etais pas si loin de la verite.
Jacques Paris