#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 FunctionHors ligne


