问一个objectdcl的问题?
在我设计的对话框中我有2个控件,1个确定键执行关闭对话框.另外一个键要求先关闭对话框,后选择对象,最后恢复对话框.这时如果点确定键就没有反映,点X强行关闭就提示出错.不知道是什么地方出了问题.
打开和关闭对话框我都使用的是下面的函数:
(Odcl_Form_Show "zhongxian" "DclForm1")<BR> (Odcl_Form_Close "zhongxian" "DclForm1")<BR><BR> 从你的这两句代码看不出任何问题,你最好把所有的都发上来 我写得2个控件的代码:
;;;;;;;;; "选取中线" 键的函数代码<BR>(defun c:DclForm1_GraphicButton1_OnClicked (/ ss loop vla_line ed)
(Odcl_Form_Close "zhongxian" "DclForm1") ;关闭对话框来进行选择<BR> (setq loop t)<BR> (while loop<BR> (setq ss (entsel) ;获得中线对象<BR> ss (car ss) ;ss为图元名<BR> )<BR> (setq ed (entget (setq e ss))) ;ed为对象信息<BR> (if (/= (cdr (assoc 0 ed)) "LWPOLYLINE") ;判断中线是否是pline<BR> (progn<BR> (prompt "\n")
(Odcl_MessageBox "Entity selected is not a pline,retry")
(setq loop t)<BR> )<BR> (setq loop nil)<BR> )<BR> ) ;end while
(Odcl_Form_show zhongxian_DclForm1) ;显示对话框<BR>
)
;;;;;;;;; "确定" 键的函数代码<BR>(defun c:DclForm1_TextButton2_OnClicked ()<BR> (Odcl_Form_Close "zhongxian" "DclForm1") ) 既然你不愿意多发点东西上来,我也没办法了, 什么啊,我只是刚开始学,
代码只写了这么点.学习阶段没有必要搞的那么复杂吧!! 就这些代码是无法显示OBJECTDCL对话框的,你给的只是对话框两个控件的动作函数,
另外,你的ODC文件也没有给出来,虽然这些我的可以自己做,但你既然有,为什么还要别人再做一遍?
这不是复杂不复杂的问题,而是完整的问题。。。 哦,明白了.那我把那几个文件打包了上传上来.
第一次发问题贴.有什么不对的请见谅 是Odcl_Form_Show 的问题,在使用Odcl_Form_Close时开始的Odcl_Form_Show并未结束,这时你又使用一次Odcl_Form_Show,就导致问题了,
你可以试试使用Hide方法看看 哦,明白了.不过问一下hide方法在哪?intelligent help里面的函数里面没有hide方面的函数.
我想了个方法,在选取中线的函数里面不再打开对话框,只是设置一个变量choice=1
在audimch函数里面加:
(if (= choice 1)<BR> (progn<BR> (Odcl_Form_show zhongxian_DclForm1) ;在选取中线后显示对话框<BR> (setq choice 0) ;choice为在选取中线后设置的判断变量<BR> )<BR> )
我测试过好像没有问题.不知道可否?
再就是对(Odcl_Form_Center "zhongxian" "DclForm1")不明白,函数不是让对话框居中显示吗?但实际上每次他都是显示在上次关闭时对话框所在的位置.这是怎么回事?
页:
[1]
2