明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1994|回复: 5

想要设置文本框禁用状态

[复制链接]
发表于 2013-1-9 21:24:48 | 显示全部楼层 |阅读模式
本帖最后由 poople 于 2013-1-9 21:27 编辑

晚上好,第一次用OpenDCL有些不明白的地方向大家请教一下。
我想用一个Checkbox或者Optionbox控件来控制一个文本框的激活/禁用(Enabled)状态,但是Checkbox或者Optionbox控件对应的单击事件根本没有动作,不知道为什么。
  1. (defun C:test (/ c:Test_TT_OptionButton1_OnClicked
  2.                  c:Test_TT_CheckBox1_OnClicked
  3.               )
  4.   (defun c:Test_TT_OptionButton1_OnClicked (Value /)
  5.     ;0 = Unchecked; 1 = Checked,激活/禁用文本框
  6.     (cond
  7.       ((= (dcl_Control_GetValue Test_TT_OptionButton1) 1); 1 = Checked,激活文本框
  8.        (dcl_Control_SetEnabled Test_TT_TextBox1 t)
  9.       )
  10.       ((= (dcl_Control_GetValue Test_TT_OptionButton1) 0);0 = Unchecked,禁用文本框
  11.        (dcl_Control_SetEnabled Test_TT_TextBox1 nil)
  12.       )
  13.     )
  14.   )
  15.   (defun c:Test_TT_CheckBox1_OnClicked (Value /)
  16.     ;0 = Unchecked; 1 = Checked,激活/禁用文本框
  17.     (cond
  18.       ((= (dcl_Control_GetValue Test_TT_CheckBox1) 1); 1 = Checked,激活文本框
  19.        (dcl_Control_SetEnabled Test_TT_TextBox1 t)
  20.       )
  21.       ((= (dcl_Control_GetValue Test_TT_CheckBox1) 0);0 = Unchecked,禁用文本框
  22.        (dcl_Control_SetEnabled Test_TT_TextBox1 nil)
  23.       )
  24.     )
  25.   )
  26.   (dcl_Project_Load "Test" t)
  27.   (dcl_Form_Show Test_TT)
  28. )



另外,对于OpenDCL的主函数中,除了 modeless forms和Dockable forms外,类似于(dufun C:Main())这样包含有另一个(dufun C:bb())的主函数,对于从前都是按照一个主“C:”函数后面跟的函数都是没有“C:”的我总适应不了,大家怎看,有没有一些文章可供参考的。


谢谢大家!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-1-9 21:36:50 | 显示全部楼层
另外看到版主mccad在“ObjectDCL学习笔记”中提到一个关于验证加载arx函数的一个过程,如下:
  1. (defun C:MyHello ()
  2.   (if (not (member "objectdcl.arx" (arx)))
  3.     (arxload "objectdcl.arx" "加载objectdcl.arx 失败.")
  4.   )
  5.   (princ)
  6. )


后来用(arx)查看了一下我的AutoCAD中加载的arx函数,如下:
("acapp.arx" "acdblclkeditpe.arx" "acdim.arx" "aceplotx.arx" "acetutil.arx" "acgsconfig.arx" "achapi17.dbx" "achlnkui.arx" "acmgd.dll" "acmgdinternal.dll" "acpltstamp.arx" "acprevinput.arx" "acrobatacadic.arx" "acrobatacadic.dbx" "acsign.arx" "actp.arx" "oleaprot.arx" "opendcl.17.arx" "pdfmacad.arx" "vl.arx" "whohas.arx")
这里有一个名为opendcl.17arx文件,说明我的CAD确实是在安装OpenDCL时已经将这个文件纳入,那么版主mccad上面的一段代码应该是不需要的了,后来我看了一下帖子是2004年的,应该是当时版本的需要。
 楼主| 发表于 2013-1-10 09:59:32 | 显示全部楼层
也没有一个人吭一声,真可怜!
发表于 2013-1-10 21:20:47 | 显示全部楼层
里面两个函数移到外面试试
 楼主| 发表于 2013-1-11 07:31:29 | 显示全部楼层
wangph 发表于 2013-1-10 21:20
里面两个函数移到外面试试

你指的是两个onclick事件吗?
谢谢你的回复!
发表于 2013-1-11 07:35:01 来自手机 | 显示全部楼层
还看不懂怎么会事的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-23 20:44 , Processed in 0.174759 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表