#1 Mon 30 August 2010 21:27
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
[MapBasic v.10] CommandInfo
Bonjour,
J'ai un dialog dans une fonction avec deux boutons un "suivant" et un "précédent" (pas de Ok bouton)
J,aimerias que lorsqu'on clique sur un bouton un action se fasse du genre CommandInfo(CMD_INFO_DLG_OK) sauf qu'au lieu d'être Ok, je veux que se soit suivant et précédent j'ai essaier le code suivant mais sa ne fonctionne pas et j'ai besoin de votre aide
Code:
Control Button id 150 Title " > " Width 30 Height 15 Position 275, 340 Control Button id 151 Title " < " Width 30 Height 15 Position 242, 340 If CommandInfo(CMD_INFO_DLG_TOOLBTN) = 150 then MetaDialog_Counter = MetaDialog_Counter + 1 Goto MetaFill1 end if If CommandInfo(CMD_INFO_DLG_TOOLBTN) = 151 then MetaDialog_Counter = MetaDialog_Counter - 1 Goto MetaFill1 end if
Merci
JF
Hors ligne
#2 Tue 31 August 2010 11:18
- Patrick PALMIER
- Participant actif
- Lieu: Lille
- Date d'inscription: 18 Jan 2007
- Messages: 97
Re: [MapBasic v.10] CommandInfo
Bonjour,
Je pense que ce commandinfo indique quel toolbutton est sélectionné. Il ne fonctionne pas avec les boutons standards
La meilleure façon est d'associer un "calling" au bouton comme suit.
Ca devrait fonctionner
Control Button id 150 Title " > " Width 30 Height 15 Position 275, 340
Calling Metafill_plus_1
Control Button id 151 Title " < " Width 30 Height 15 Position 242, 340
Calling Metafill_moins_1
sub metafill_moins_1
MetaDialog_Counter = MetaDialog_Counter - 1
end if
sub metafill_plus_1
MetaDialog_Counter = MetaDialog_Counter + 1
end if
Hors ligne
#3 Tue 31 August 2010 14:11
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic v.10] CommandInfo
Merci Patrick,
par contre mon problème est que dans mon code j'ai un "Goto MetaFill12" et qui lit des controls (readcontrolvalue) du dialog, j'aurais aimer rester dans la même sub surtout que c'est une fonction.
Merci et j'essai ta méthode
JF
Hors ligne
#4 Tue 31 August 2010 15:28
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic v.10] CommandInfo
Sa ne fonctionne pas..
Dans le fond j'ai simplement besoin d'identifier le boutton appuyer sans sortir de la fonction. Il doit bien avoir une commande qui fait cela?
Ou est-il possible de faire un calling une fonction?
Jf
Hors ligne
#5 Tue 31 August 2010 17:20
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic v.10] CommandInfo
Je crois que la fonction que je cherche est la suivante
...
Control Button id 150 Title " > " Width 30 Height 15 Position 275, 340
Control Button id 151 Title " < " Width 30 Height 15 Position 242, 340
button_id = TriggerControl()
print button_id
print TriggerControl()
if button_id = 150 then
Metadatawh1(1)= "Description"
Metadatawh1(2)= "Abstract : "
...
If button_id = 150 then
MetaDialog_Counter = MetaDialog_Counter + 1
print "test2"
end if
...
end Function
Mais ma procedure refuse d'entre dans mais "if" (les print ne s'affichent pas) se peut-il que ce soit du au fait que ce soit un Fonction et non un sub? Ou mon code est mal?
JF
Hors ligne
#6 Wed 01 September 2010 15:27
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic v.10] CommandInfo
Problème résolu
1. ajout d'un calling apres les deux bouton
2. Ajout button_id = TriggerControl() dnas les deux nouvelle sub procedure
3. Ajout de if commandinfo(CMD_INFO_DLG_OK) = False and button_id <> 150 and button_id <> 150 then MetaDialog_Counter = 10 end if
4. Dans une sub englobante j'ai if MetaDialog_Counter = 10 then exit sub donc cela gère bien le cas ou l'utilisateur appuie echape ou annulé.
Cela permet alors de créer des dialog successif
JF
Hors ligne