Invité -=micka=- Posté(e) le 1 septembre 2011 Posté(e) le 1 septembre 2011 Bonjour, j'aimerais savoir quel est le moyen de garder en mémoire la position d'une boite de dialogue sur l'écran pour qu'a chaque fois qu'elle réaparaisse elle ne se mettepas en plein milieu de l'écran et qu'elle gêne.Pour le moment j'ai réusssi a rentrer une position fixe sur le coté avec le nombre de pixel, mais j'aimerais que lorsque l'utilisateur mette la boite où il veut, le lisp garde cet position pour la boite. ci dessous des extrait de mon code si ça peut aider :) ...... (setq posfen (list 1200 150)) [....] (new_dialog "elevation01" dcl_id "" posfen) ..... Merci pour votre aide!
Patrick_35 Posté(e) le 1 septembre 2011 Posté(e) le 1 septembre 2011 Salut Extrait de l'aide pour new_dialogBegins a new dialog box and displays it, and can also specify a default action (new_dialog dlgname dcl_id [action [[surligneur]screen-pt[/surligneur]]])Arguments dlgnameA string that specifies the dialog box. dcl_idThe DCL file identifier obtained by load_dialog. actionA string that contains an AutoLISP expression to use as the default action. If you don't want to define a default action, specify an empty string (""). The action argument is required if you specify screen-pt. The default action is evaluated when the user picks an active tile that doesn't have an action or callback explicitly assigned to it by action_tile or in DCL. screen-ptA 2D point list that specifies the X,Y location of the dialog box on the screen. The point specifies the upper-left corner of the dialog box. If you pass the point as'(-1 -1), the dialog box is opened in the default position (the center of the AutoCAD drawing area). Return Values T, if successful; otherwise nil. Extrait de l'aide pour done_dialogTerminates a dialog box (done_dialog [status])Arguments statusA positive integer that start_dialog will return instead of returning 1 for OK or 0 for Cancel. The meaning of any status value greater than 1 is determined by your application. You must call done_dialog from within an action expression or callback function (see ). [surligneur]Return Values[/surligneur] A two-dimensional point list that is the (X,Y) location of the dialog box when the user exited it. Usage Notes If you provide a callback for the button whose key is "accept" or "cancel" (usually the OK and Cancel buttons), the callback must call done_dialog explicitly. If it doesn't, the user can be trapped in the dialog box. If you don't provide an explicit callback for these buttons and use the standard exit buttons, AutoCAD handles them automatically. Also, an explicit AutoLISP action for the “accept” button must specify a status of 1 (or an application-defined value); otherwise, start_dialog returns the default value, 0, which makes it appear as if the dialog box was canceled. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Invité -=micka=- Posté(e) le 1 septembre 2011 Posté(e) le 1 septembre 2011 Merci Patrick_35,mais comment extraire: A two-dimensional point list that is the (X,Y) location of the dialog box when the user exited it. j'arrive pas à comprendre comment m'en servir. cordialement
Patrick_35 Posté(e) le 1 septembre 2011 Posté(e) le 1 septembre 2011 Par le biais d'un setq Exemple(setq ma_variable (done_dialog 60)) Dans l'aide, il est indiqué pour done_dialog un Return Values (X,Y), ce qui indique que cette fonction retourne comme info la position de la BD. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Invité -=micka=- Posté(e) le 1 septembre 2011 Posté(e) le 1 septembre 2011 Merci Patrick!!! nickel c'était tout simple fallait juste le savoir! ^^c'est un petit détail mais ça fait plaisir que la boite de dialogue ne soit pas tout le temps où on ne veut pas. sujet résoluBonne journée! :D
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant