引言:在晓东cad上看到一则求助,地址是http://bbs.xdcad.net/forum.php?mod=viewthread&tid=671829
本人试着研究了一下,感觉dcl_Tree_GetItemLabel 似乎有延迟.欢迎大家一起来讨论讨论.
首先看一段代码,点击tree控件时,得到的不是点击的项目,而是上一次的项目.
- (defun c:TEST_Main_Tree_OnClicked ( / Item Label)
- (setq Item (dcl_Tree_GetSelectedItem TEST_Main_Tree);获取点击项目
- Label(dcl_Tree_GetItemLabel TEST_Main_Tree Item));获取点击项目的Label
- (dcl_Control_SetText TEST_Main_TextBox1 Label);显示点击项目的 Label
- )
然后,咱经过修改调整后,可以获得本次点击的项目.
- ;本人是个新手,写出来的代码不规范,仅供参考,请高手们优化下.
- (defun c:TEST_Main_Tree_OnClicked ( / Item Label)
- (setq Item (dcl_Tree_GetSelectedItem TEST_Main_Tree);获取点击项目
- Label(dcl_Tree_GetItemLabel TEST_Main_Tree Item));获取点击项目的 Label
- )
- (defun c:TEST_Main_Tree_OnSelChanged (Label Key /)
- (dcl_Control_SetText TEST_Main_TextBox1 Label);显示点击项目的 Label
- )
第一串代码为何现实出来的还是上一次点击项目的Label?
个人认为点击的同时,选中项的Item已经发生改变. |