hicoffee 发表于 2008-1-4 15:27:00

请教关于OpenDCL的问题?

<p>在使用GRID控件时,在一个栏中输入一字符串,当焦点离开编辑栏时会激发 </p><p>(defun c:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit (nRow nCol /)<br/>&nbsp;&nbsp;&nbsp;&nbsp; (dcl_MessageBox "To Do: code must be added to event handler\r\nc:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit" "To do")<br/>)</p><p>事件,这时使用</p><p>(Setq rValue (dcl_Grid_GetItemText CFdlg_SComDlg_DrawInfo&nbsp;&nbsp;nRow&nbsp;nCol))</p><p>语句却得不到刚输入的字符串,不知为什么?那位帮帮我呀?</p><p>先谢谢了!!!!!!</p><p></p>

wzh 发表于 2008-1-4 22:02:00

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

lyy 发表于 2008-1-5 13:57:00

hicoffee发表于2008-1-4 15:27:00static/image/common/back.gif在使用GRID控件时,在一个栏中输入一字符串,当焦点离开编辑栏时会激发 (defun c:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit (nRow nCol /)&nbsp;&nbsp;&nbsp;&nbsp; (dcl_MessageBox \"To Do: co

<p>(defun c:CFdlg_SComDlg_DrawInfo_OnEndLabelEdit (nRow nCol /)<br/>&nbsp;&nbsp;&nbsp;&nbsp; (Setq&nbsp;str (dcl_Grid_GetItemText CFdlg_SComDlg_DrawInfo&nbsp;&nbsp;nRow&nbsp;nCol))<br/>)</p><p>应该可以的!</p>

hicoffee 发表于 2008-1-5 14:38:00

理论上讲应该是没问题,但rvalue始终返回“”,点一下其它栏,再点这个栏才返回输入的字符串,奇怪,好像慢了半拍。

dayange 发表于 2008-1-20 21:16:00

<p>我也发现了同样的问题!</p><p>实际上是控件的OnEndLabelEdit没有被及时激发,</p><p>而当你在旁边点一下时,才真正激发了OnEndLabelEdit,</p><p>才获得了正确的值。</p><p>我没找到解决办法,</p><p>你上OpenDcl的论坛问问吧。</p>

dayange 发表于 2008-1-22 14:42:00

[讨论]

<p>你的问题已经找到了解决办法了。</p><p>OpenDcl作者Owen建议:Before you call (dcl_Grid_GetItemtext), call (dcl_Grid_CancelItemEdit) to close the edit control and apply the new selection.</p><p>我已经试过了这个方法,有效!</p><p>注意:在grid控件的intelligent help中,CancelItemEdit函数</p><p>被错误地写成(dcl_ListView_CancelItemEdit)了,请自行修改。</p>

azq181 发表于 2008-5-22 20:30:00

进来学习

yxp 发表于 2013-4-29 03:52:48

本帖最后由 yxp 于 2013-4-29 04:05 编辑

dayange 发表于 2008-1-22 14:42 http://bbs.mjtd.com/static/image/common/back.gif
你的问题已经找到了解决办法了。OpenDcl作者Owen建议:Before you call (dcl_Grid_GetItemtext), call (dcl ...

这都2013年了,5年前的问题,现在还是老样子, onEndLabelEdit 调用慢半拍怎么解决?
dcl_Grid_GetItemtext 函数好像被更名为 dcl_Grid_GetCellText 了,现在好像是过渡期,
这两个函数都有效,不明白,这样的话程序的兼容性都乱套了。
页: [1]
查看完整版本: 请教关于OpenDCL的问题?