分享

怎样让表格控件里每一列的text1的dblclick事件执行相同的代码段???

 昵称1753062 2010-06-14
主题:怎样让表格控件里每一列的text1的dblclick事件执行相同的代码段???
作者:jinlonggao      发表时间:2007-3-6 17:01:00

楼主  

我有一个表单,其中有一表格,可以显示任何一个在该表单运行之前已经打开的数据表,现在我想在每个单元格中双击鼠标时执行同样一段代码.我又不想给每一列的TEXT1控件的dblclick事件都写上该代码,因为,此表格的列数,在显示不同的数据表时可能不同.请问有没有办法在运行时自动让每列的TEXT1的DBLCLICK事件执行同样一段代码.
这个问题有一定难度,敬请高手不吝赐教!

 

作者:djGong2002      发表时间:2007-3-6 17:58:00

 1楼  


设置表格的AllowCellSelection为.F.,然后直接在表格的DblClick事件中写代码

 

作者:jinlonggao      发表时间:2007-3-6 19:03:00

 2楼  

djGong2002的办法我试过了,可以,但是当:

表格的AllowCellSelection为.f.后,表格就不能编辑,也不能选择其中某个单元格的值,即便达到了目的,又有什么意义呢?

我的要求是既要能选择每个单元格,又要能单击或双击单元格时运行统一的代码段.

先谢谢 djGong
请专家们继续支持我!!

 

作者:jinlonggao      发表时间:2007-3-6 19:35:00

 3楼  

既然grid的setall()函数可以给表格中所有的某个属性赋同样的值,难道就没有一个什么函数能让表格控件中的所有text1或header1执行某段同样的代码吗?
是我们没发现呢? 还是grid控件确实没有这样的功能呢?
希望专家们赶快想办法?

 

作者:moz      发表时间:2007-3-6 21:09:00

 4楼  

请老金原谅,
实在是没有精力去试什么了,
不过我瞎翻了一下:

.readmethod  读取方法程序文本
.writemethod 写入方法程序文本

还有,我看到 GRID 的双击,相当于文本框的双击 -- 全选

还有,记得以前见到过有写鼠标事件的,不知道能不能从鼠标入手.

如果是我,走头无路的时候,我只能做一个隐藏的按钮,
在每一个要调用事件的地方加上去  .click
剩下的事情就在余生八十年的岁月里去寻找替代方法.

 

作者:moz      发表时间:2007-3-6 22:11:00

 5楼  

刚又想起一个运行时的集合叫做 .Controls 
不知道能不能用得上。

 

作者:zxl931      发表时间:2007-3-6 23:43:00

 6楼  

只要一行代码可以解决此问题,无论表格的数据源如何变化,我的方法如下:

假如表单上有一个grid1,在它的AfterRowColChange事件中加入以下一行代码:

LPARAMETERS nColIndex
BINDEVENT(thisform.grid1.columns(nColIndex).text1,"dblclick",thisform,"msg")

说明:本方法绑定“text1"的"dblclick"事件到表单的自定义方法“msg”
如果“msg”中的代码为“messagebox("123")”,当双击表格时就会执行自定义方法“thisform.msg”并弹出提示。

 

作者:moz      发表时间:2007-3-7 7:06:00

 7楼  

利害.

 

作者:jinlonggao      发表时间:2007-3-7 14:53:00

 8楼  

还是老乡历害,遗憾的是,bindevent()函数只有VFP9才有(VFP7,8我没用过,不知道有无,但VFP6肯定没有).我的系统是VFP6做的,看来要用这个函数就得升级系统了.

moz先生的writemethod也是VFP6中没有的(vfp9里有).

谢谢老乡康佳小雷.

谢谢MOZ先生.

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多