明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3484|回复: 7

[OpenDCL] 请教关于OpenDCL的问题?

[复制链接]
发表于 2008-1-4 15:27:00 | 显示全部楼层 |阅读模式

在使用GRID控件时,在一个栏中输入一字符串,当焦点离开编辑栏时会激发

(defun c:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit (nRow nCol /)
     (dcl_MessageBox "To Do: code must be added to event handler\r\nc:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit" "To do")
)

事件,这时使用

(Setq rValue (dcl_Grid_GetItemText CFdlg_SComDlg_DrawInfo  nRow nCol))

语句却得不到刚输入的字符串,不知为什么?那位帮帮我呀?

先谢谢了!!!!!!

发表于 2008-1-4 22:02:00 | 显示全部楼层

用OPENDCL的人太少了,这么好的软件为什么没有人用呢?

发表于 2008-1-5 13:57:00 | 显示全部楼层
hicoffee发表于2008-1-4 15:27:00在使用GRID控件时,在一个栏中输入一字符串,当焦点离开编辑栏时会激发 (defun c:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit (nRow nCol /)     (dcl_MessageBox \"To Do: co

(defun c:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit (nRow nCol /)
     (Setq str (dcl_Grid_GetItemText CFdlg_SComDlg_DrawInfo  nRow nCol))
)

应该可以的!

 楼主| 发表于 2008-1-5 14:38:00 | 显示全部楼层
理论上讲应该是没问题,但rvalue始终返回“”,点一下其它栏,再点这个栏才返回输入的字符串,奇怪,好像慢了半拍。
发表于 2008-1-20 21:16:00 | 显示全部楼层

我也发现了同样的问题!

实际上是控件的OnEndLabelEdit没有被及时激发,

而当你在旁边点一下时,才真正激发了OnEndLabelEdit,

才获得了正确的值。

我没找到解决办法,

你上OpenDcl的论坛问问吧。

发表于 2008-1-22 14:42:00 | 显示全部楼层

[讨论]

你的问题已经找到了解决办法了。

OpenDcl作者Owen建议:Before you call (dcl_Grid_GetItemtext), call (dcl_Grid_CancelItemEdit) to close the edit control and apply the new selection.

我已经试过了这个方法,有效!

注意:在grid控件的intelligent help中,CancelItemEdit函数

被错误地写成(dcl_ListView_CancelItemEdit)了,请自行修改。

发表于 2008-5-22 20:30:00 | 显示全部楼层
进来学习
发表于 2013-4-29 03:52:48 | 显示全部楼层
本帖最后由 yxp 于 2013-4-29 04:05 编辑
dayange 发表于 2008-1-22 14:42
你的问题已经找到了解决办法了。OpenDcl作者Owen建议:Before you call (dcl_Grid_GetItemtext), call (dcl ...


这都2013年了,5年前的问题,现在还是老样子, onEndLabelEdit 调用慢半拍怎么解决?
dcl_Grid_GetItemtext 函数好像被更名为 dcl_Grid_GetCellText 了,现在好像是过渡期,
这两个函数都有效,不明白,这样的话程序的兼容性都乱套了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 07:49 , Processed in 0.205831 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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