renxianjing 发表于 2023-10-26 13:24:30

请教new_dialog函数的action参数

如题:
      new_dialog函数有四个参数,一般使用前两个,最后一个参数为对话框出现的位置,第三个参数是action。如果需要使用第四个参数,就必须指定action。
      查阅明经通道的函数手册,看不太懂。所以请教一下。
      函数手册关于这个参数的说明为:“action为字符串,包含用作缺省操作的lisp表达式。当用户拾取了某个激活的控件,而该控件没有通过action_tile函数或DCL显示指定操作或回调函数,则计算指定的缺省操作”。

wzg356 发表于 2023-10-26 13:54:55

34参数=“3”(屏幕坐标)

renxianjing 发表于 2023-10-26 14:34:45

wzg356 发表于 2023-10-26 13:54
34参数=“3”(屏幕坐标)

您好,感谢您的回复!
      您的意思是第3个参数表示第4个参数的是屏幕坐标?
      我看您的几个dcl里面,这个地方用的都是"3"。

wzg356 发表于 2023-10-26 19:55:13

renxianjing 发表于 2023-10-26 14:34
您好,感谢您的回复!
      您的意思是第3个参数表示第4个参数的是屏幕坐标?
      我看您的几个 ...

对,没有坐标则以屏幕中心展示,done_dialog 也返回当前停靠的坐标

hao3ren 发表于 2023-10-26 21:33:54

(setq dcl_id (load_dialog fname))
   (if lastpt
      (if (not (new_dialog "q" dcl_id "3" lastpt)) (progn (alert (strcat
"\nDCL filewas Not Found ! Exiting.")) (exit)) )
      (if (not (new_dialog "q" dcl_id "3" '(-1 -1))) (exit))
)

renxianjing 发表于 2023-10-27 09:22:55

wzg356 发表于 2023-10-26 19:55
对,没有坐标则以屏幕中心展示,done_dialog 也返回当前停靠的坐标

没有3、4参数,dcl就在屏幕中心。我只是不明白“3”这个参数是啥意思。能否改为其他的?
我再看了一下函数说明,是否这么理解:当点击了某个dcl中激活的控件时,控件没有action_tile函数,那就用3参数指定的表达式求解。
如果是这么理解,某个激活的dcl是否代表着没有指定action_tile函数的控件?

renxianjing 发表于 2023-10-27 09:24:01

hao3ren 发表于 2023-10-26 21:33
(setq dcl_id (load_dialog fname))
   (if lastpt
      (if (not (new_dialog "q" dcl_id "3" lastpt ...

您这个例子的3参数也是“3”。
页: [1]
查看完整版本: 请教new_dialog函数的action参数