尘缘一生 发表于 2019-11-14 09:02:27

DCL打开靠右停放,如何完美解决?

如题:


(new_dialog "Qxtyjs" dcl_id "" '(600 300))


定位点,是DCL左上角,


还需要函数,取得DCL窗口大小,才能准确计算右侧点?


另外,屏幕视口点的计算等?

pengfei2010 发表于 2019-11-15 08:40:33

???什么意思,你解决了dcl停靠问题 还是问这个问题?

669423907 发表于 2019-11-16 08:18:23

;屏幕左上j、右下jj两对角点 (hbllw 2010-11-6)
(defun P屏幕对角(/ j1 j2 j3 j4 j5 j6 j7q1 q2 z1) ;(P屏幕对角)
(setq
j1 (getvar "screensize") ;当前视口中显示的视图的大小
j2 (getvar "viewsize") ;当前视口中显示的视图的高度
j3 (getvar "viewctr") ;当前视口中显示的视图的中心
j4 (/ (car j1) (cadr j1))
j5 (/ j2 2)
j6 (* j4 j2)
j7 (/ j6 2)
j(polar (polar j3 pi j7)(* 0.5 pi) j5) ;左上
jj (polar (polar j3 0 j7)(* 1.5 pi) j5) ;右下
q1 (list (car jj)(cadr j)) ;左下
q2 (list (car j)(cadr jj)) ;右上
z1 (list (car jj)(cadr j3)) ;右中
) (princ))

尘缘一生 发表于 2019-11-16 12:09:59

669423907 发表于 2019-11-16 08:18
;屏幕左上j、右下jj两对角点 (hbllw 2010-11-6)
(defun P屏幕对角(/ j1 j2 j3 j4 j5 j6 j7q1 q2 z1) ;(P ...

这些都好办,是控制DCL右上角点,对上屏幕右侧的代码...

e2002 发表于 2019-11-16 18:49:12

纯AutoLISP无法做到。
用 DynamicWrapperX 来弄或许能做到。
页: [1]
查看完整版本: DCL打开靠右停放,如何完美解决?