找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: hqd9639

[LISP函数]:ObjectDCL问题---望XD赐教

[复制链接]
 楼主| 发表于 2002-11-13 10:33:09 | 显示全部楼层
如下面CODE是定义“移出”按钮的正确CODE
(defun c:DclForm2_TextButton3_OnClicked ()
       (Setq rValue (Odcl_ListBox_GetAnchorIndex acadview_DclForm2_ListBox1))
       (Odcl_ListBox_DeleteString acadview_DclForm2_ListBox1 rValue)
)

而把改成下面代码
(defun c:DclForm2_TextButton3_OnClicked ()
       (Odcl_ListBox_DeleteString acadview_DclForm2_ListBox1 nSelection )
)

则每次删除的是LIST的第一项,而不是你选取的那项
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-13 11:12:14 | 显示全部楼层
最初由 hqd9639 发布
[B]如下面CODE是定义“移出”按钮的正确CODE
(defun c:DclForm2_TextButton3_OnClicked ()
       (Setq rValue (Odcl_ListBox_GetAnchorIndex acadview_DclForm2_ListBox1))
       (Odcl_ListBox_DeleteString aca... [/B]


你找到正确方法了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-13 12:35:05 | 显示全部楼层
上述看图程序的改进版,增加一些新功能,界面完善。改进中......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-11-14 02:54:08 | 显示全部楼层
GetAnchorIndex一般用在多选列表框,用来
确定当前光标所在位置,对于单选的列表框,
用下面的方法也可以

  1. (defun c:DclForm2_TextButton3_OnClicked (/ n)
  2.   (setq n (Odcl_ListBox_GetCurSel acadview_DclForm2_ListBox1))
  3.   (if (>= n 0)
  4.     (Odcl_ListBox_DeleteString acadview_DclForm2_ListBox1 n)
  5.   )
  6. )


在你第二段代码中,因为nSelection并不是TextButton3控件
OnClicked事件回调函数的形参,并且在你这段函数内没有
对它赋值,所以它的值是与列表框无关的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-14 09:25:50 | 显示全部楼层
按理解,nSelection应指列表框中当前项的序号,
否则如何引用其值呢? Qlin能否举个例说说。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-11-14 10:30:42 | 显示全部楼层
比如说,你的acadview_DclForm2_ListBox1设置了OnSelChanged事件,
它的回调函数是这个样子的:

  1. (defun c:DclForm2_ListBox1_OnSelChanged (nSelection sSelText / n)
  2.     (setq n nSelection)
  3. )

在这个函数内对用nSelection对n赋值是有效的,需要的话可以
设置一个全局变量来保留这个值
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-14 15:18:50 | 显示全部楼层
图层列表
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-14 15:23:42 | 显示全部楼层
ODCL 中 listview 应用示例:


  1. [FONT=courier new]
  2. ;;;
  3. ;;;编写:HQD9639
  4. ;;;
  5. ;;;日期:2002/11/13
  6. ;;;
  7. ;;;==========================================================================
  8. (Defun objectdcl_loadarx ()
  9.   (IF (NOT (MEMBER "objectdcl.arx" (ARX)))
  10.     (ARXLOAD "objectdcl.arx" "ObjectDCL.arx not found.")
  11.   )
  12. )

  13. (Defun c:laylist ()
  14.         (objectdcl_loadarx)                               
  15.         (Odcl_LoadProject "laylist" T)               
  16.         (Odcl_Form_Show  laylist_DclForm1)   
  17.         (laylst)     
  18. )

  19. (defun c:DclForm1_OnInitialize ()

  20.     (Odcl_Control_SetProperty laylist_DclForm1_Label1 "Caption" laynum)

  21.     (setq Col1Width
  22.         (Odcl_ListView_CalcColWidth laylist_DclForm1_ListView1 "层名")
  23.       Col2Width
  24.         (Odcl_ListView_CalcColWidth laylist_DclForm1_ListView1 "颜色")
  25.       Col3Width
  26.         (Odcl_ListView_CalcColWidth laylist_DclForm1_ListView1 "线型")
  27.     )

  28.     (Odcl_ListView_AddColumns laylist_DclForm1_ListView1
  29.       (list
  30.         (list 0 "层名" 0 Col1Width 0)
  31.         (list 1 "颜色" 0 Col2Width 1)
  32.         (list 2 "线型" 0 Col3Width 2)
  33.       )
  34.     )

  35.     (Odcl_ListView_FillList laylist_DclForm1_ListView1 allst)

  36.    (Odcl_ListView_SetColWidth laylist_DclForm1_ListView1 0 100)
  37.    (Odcl_ListView_SetColWidth laylist_DclForm1_ListView1 1 100)
  38.    (Odcl_ListView_SetColWidth laylist_DclForm1_ListView1 2 100)

  39. )

  40. (defun c:DclForm1_TextButton1_OnClicked ()
  41.     (Odcl_Form_Close  laylist_DclForm1)
  42. )

  43. ;;;==================================================================[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-3 18:02:05 | 显示全部楼层
已学习,多谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-12 21:35:13 | 显示全部楼层
正急需呢,多些啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-26 02:19 , Processed in 0.328589 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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