Fermeture d'un Dialog box

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 8 déc. 2006 à 16:17
V7user Messages postés 2 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 9 janvier 2009 - 9 janv. 2009 à 22:36
Salut à tous...

J'ai un petit probleèm avec un macro que je me suis créé à l'aide de l'assisatnt macro... J'ai fais quelque modifications à l'intérieur de ce macro mais il me reste une chose que je ne réussi pas à faire... soit fermer le dialog box....

Je débute avec VBA

Je vous mets le code du macro avec les commentaire de l'assistant macro...

Si quelqu'un peut m'aider pour imposer la fermeture des 2 dialogbox.

P.S. J'ai essayé avec l'assisatnt macro en mode Play de femrwer les dialog et ca fonctionne pas et j'ai essayé de seulement fermewr un disalogbox afin de récupérer le code mais ca me donne rien...
J'ai essayer cette ligne MbeSendCommand "MDL KEYIN DIMSET DIALOG DIMSETTINGS CLOSE"  mais ca fonctionne pas....

Si quelqu'un peut m'aider  je vous remerci d'avance

Sub main()
    Dim startPoint As MbePoint
    Dim point As MbePoint, point2 As MbePoint


'   Send a keyin that can be a command string
    MbeSendKeyin "set hilite=green"


'   Start a command
    MbeSendCommand "MDL KEYIN DIMSET DIALOG DIMSETTINGS OPEN"


'   Set a variable associated with a dialog box


    MbeSetAppVariable "DIMSET", "tcb->ad4.ext_dimflg.decimal_comma", 1&


    MbeSetAppVariable "DIMSET", "tcb->ad4.ext_dimflg.leading_zero", 1&


    MbeSetAppVariable "DIMSET", "tcb->ad4.ext_dimflg.trailing_zeros", 1&


    MbeSetAppVariable "DIMSET", "tcb->ad5.flags.metricSpc", 0&


    MbeSendCommand "DIALOG LEVELSYMB "


'   When a command brings up a modal dialog,
'   a later statement must close the dialog,
'   or the MbeState.modalDialogByUser property
'   should be set to 1 so that the user must close
'   the dialog when the macro is executed.
'   Also, you may not use the debugger "Step"
'   commands while a modal dialog is displayed.


'   Opened modal dialog "Level Symbology"


    MbeSetAppVariable "MGDSHOOK", "levSymbGP->overrideColor", -1&


    MbeSetAppVariable "MGDSHOOK", "levSymbGP->overrideStyle", 0&


    MbeSetAppVariable "MGDSHOOK", "levSymbGP->overrideWeight", 0&


'   Closed modal dialog "Level Symbology"


'   Following comment is the command to close a modal dialog
'   MbeSendCommand "MBE1 CLOSEMODAL OK"


End Sub

4 réponses

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
8 déc. 2006 à 16:31
J'ai oublier.....

Je suis capable de fermer un dialog Box qui possède un Bouton OK
   MbeSendCommand "MBE1 CLOSEMODAL OK"

Mais mon problème est que le dialog box que je veux fermer n'a pas de bouton Close, Ok  breg je doit appuyer sur le petit bouton en haut du "Form" le X pour fermer la fenetre....

C'est quoi le mot que je peux utiliser pour fermer ce type de dialogbox

MbeSendCommand "MDL KEYIN DIMSET DIALOG DIMSETTINGS CLOSE"

merci d'avance
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
8 déc. 2006 à 23:50
Je ne connais pas ton logiciel, mais peut-être ESCAPE ou ESC   (?)
Est-ce que tu peux utiliser SendKeys ?

MPi
0
V7user Messages postés 2 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 9 janvier 2009
9 janv. 2009 à 21:58
Il faut enlever le ' a la deniere ligne pour fermer la boite de dialogue

donc,
'   Following comment is the command to close a modal dialog
    MbeSendCommand "MBE1 CLOSEMODAL OK"
End Sub

À ce point-ci, tu as certainement trouvé la solution, mais je n'arrive pas à faire fonctionner cette macros. La symbology ne s'active pas. As-tu trouvé un autre bug dans la macros?

Jimy
V7 User
0
V7user Messages postés 2 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 9 janvier 2009
9 janv. 2009 à 22:36
J'ai oublié dans mon dernier post de mentionner qu'il n'est pas nécessaire d'ouvrir la  boite de dialogue DIMSETTINGS pour changer les valeurs.

Solution, efface la commande

'   Start a command
    MbeSendCommand "MDL KEYIN DIMSET DIALOG DIMSETTINGS OPEN"

Jimy
V7 User
0
Rejoignez-nous