#1 Mon 28 June 2010 19:33
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
[MapBasic] Dialog Remove
Exist-il une fonction qui rafraichie un dialog ou une listbox?
Voici mon problème :
L'utilisateur doit ajouter un champ à une table via un edit text. Lorsque la sub est terminée je voudrais que le dialog edit text disparraisse et que mon dialog "sub main" soit à jour c-a-d que la listbox ait ajouté le nouveau champ dans sa list.
J'ai une fonction qui met à jout le listbox mais je ne peux l'appeler de ma fonction edit text, car il ne reconnais pas l'ID de mon control listbox de mon dialog "sub main"
En fesant des recherche dans le reference guide, voici ce que j'ai trouvé et qui je crois est la source de mon problème
Dialog Remove signals to remove the dialog box after the handler sub procedure returns. It
does not remove the dialog box instantaneously.
Exist-il un moyen de contourner cela, j'ai pensé a utiliser un bouton refresh mais ce n'est pas très élégant.
Exist-il un moyen de faire remove all dialog et relancer mon sub main?
Merci d'avance
JF
Hors ligne
#2 Mon 28 June 2010 21:10
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: [MapBasic] Dialog Remove
j'ai pensé a utiliser un bouton refresh mais ce n'est pas très élégant.
Un "run menu command 417" par exemple --> Define M_TABLE_REFRESH
Voir dans ---> C:\Program Files\MapInfo\MapBasic\MENU.DEF
Ce fichier s'ouvre avec le bloc note
Tu as les n° des commandes
A+
Joël
Hors ligne
#3 Mon 28 June 2010 21:19
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic] Dialog Remove
Merci Joël
En fait, ma table est à jour mais mon list box ne l'est pas. Il manque le champ fraichement ajouter du edit text. et tant que mon dialog édit text est activé je ne peux lancer la mise a jour car je réfère à un control Id d'un autre dialog
Merci
JF
Hors ligne
#4 Wed 30 June 2010 15:01
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic] Dialog Remove
Bonjour,
Quelqun connaitrait un moyen de fermer un dialog a l'intérieur d'une sub avant que la sub soit terminée et ainsi contouner mon proplème. Ou fermer un dialog via un identifiant de ce dialog?
JF
Hors ligne
#5 Fri 02 July 2010 16:39
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic] Dialog Remove
J'ain enfin pu règler le problème, il fallait passer par une fonction voici le pseudo code :
Code:
Sub AddButton sNewColumn = AddButtonDialog() If sNewColumn = "" Then '*L'utilisateur a appuiyer sur cancel Else 'Réécrit ma chaîne de caractère pour mon listbox Call UpdateListBox 'Met à jour mon listbox End if End Sub Function AddButtonDialog() As String Dim sCol As String AddButtonDialog = "" Dialog Control EditText Value "NewColumnName" Into sCol Control OKButton Control CancelButton If CommandInfo(CMD_INFO_DLG_OK) Then '** Ensemble de restriction pour que le nom de champ soit convenable AddButtonDialog = sCol End If End Function
Hors ligne