Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB