怎样屏蔽ListView的输入焦点!??
各位大虾好!!!
小弟最近自己为ListView写了个双击后显示输入焦点的动作,但在单击的时候或双击间隔时间长的话,会在ListView的根项显示输入焦点,但这时候小弟写的输入焦点也显示了出来,小弟想问一下是否有办法屏蔽这个动作,使小弟做的输入焦点能够正常显示,而不是在双击间隔太长的时候弹出ListView根项自己的输入焦点,不知道小弟有没有说清楚,有知道怎么解决的大虾请指教一下,有不明白的大虾也请回复,小弟长期关注ing哦!!!谢谢!!!
问题点数:100、回复次数:10Top
1 楼waysoft(华子)回复于 2005-02-03 23:08:42 得分 30
不是很明白你的意思,把ListView改为只读能否解决?
Top
2 楼qsdnet(我想学编程)回复于 2005-02-03 23:32:12 得分 0
非常感谢楼上大虾的回复,把ListView改成只读!??能否说得再详细一些啊!??
可能是小弟还没有说明白,小弟再说说。
是这样的,ListView不是不能编缉子项(没有输入焦点)吗,只有根项才有输入焦点,于是小弟自己写了个动作使ListView的子项能够像根项一样在单击后显示输入焦点(就像TEdit一样),只不过小弟的这个动作要双击才会出现输入焦点。但如果双击间隔太长就会将根项的输入焦点给引出来了,小弟的意思就是想将这个输入焦点给屏蔽了,使自己编的输入焦点在双击后显示出来,若双击间隔太长则不执行任何动作。Top
3 楼Rail100(杀神之狙)(能忘掉结果,未能忘记遇上)回复于 2005-02-04 03:07:57 得分 30
把LISTVIEW的READONLY属性改为TRUE,那么就不会出现根项编辑的情况了.Top
4 楼DieGhost(☆小过)回复于 2005-02-04 05:19:08 得分 30
readonly:=true;Top
5 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-02-04 08:52:40 得分 0
应该是了!楼上的正确,不知道你怎么实现的让subitem也能输入的,贴出代码来和大家共享吧。
:)Top
6 楼peterluolaw(木瓜)回复于 2005-02-04 12:53:32 得分 0
怎么实现的让subitem也能输入的?我也在考虑这个问题,能否分享一下?Top
7 楼g961681(技术庸人(情商太低))回复于 2005-02-04 14:25:38 得分 0
这样的话不如用StringGrid了!Top
8 楼Kshape(C/C++初学者~~~~)回复于 2005-02-04 17:28:00 得分 10
不知道改了只读属性后你的问题解决了吗/?
如果不行
就去拦截那个消息
或者用个记时器去固定你的焦点吧Top
9 楼qsdnet(我想学编程)回复于 2005-02-04 23:17:31 得分 0
非常感谢楼上各位大虾的回复,用StringGrid确实是很好的并可以解决小弟要实现的功能,但小弟还是觉得重写一下TListView可以学习学习组件的编写。
小弟做ListView的SubItem输入焦点的主体思想就是写一个鼠标双击消息处理的动作,然后判断鼠标双击的坐标并判断是哪个SubItem,然后计算出坐标在ListView上动态显示TEdit。现在基本动作巳经实现了,但又碰到了一个新问题就是当TEdit获取到一个键盘的回车键自行消毁时,系统发出警告,好像是内存方面的访问错误,小弟还要发贴请教一下高手。由于这个控件还没有做完不好分享,以免误了大家的时间,故小弟暂不发表,敬请各位大虾见谅,谢谢!!!Top
10 楼kmzmy(fox)回复于 2005-02-05 17:27:22 得分 0
upTop




