Aller au contenu

POSITION DCL


Invité -=micka=-

Messages recommandés

Invité -=micka=-
Posté(e)

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!

Posté(e)

Salut

 

Extrait de l'aide pour new_dialog

Begins 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

 

dlgname

A string that specifies the dialog box.

 

dcl_id

The DCL file identifier obtained by load_dialog.

 

action

A 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-pt

A 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_dialog

Terminates a dialog box

 

(done_dialog [status])

Arguments

 

status

A 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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Invité -=micka=-
Posté(e)

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

 

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Invité -=micka=-
Posté(e)

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ésolu

Bonne journée!

 

:D

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité