各位大虾好!!!小弟最近自己为ListView写了个双击后显示输入焦点的动作,但在单击的时候或双击间隔时间长的话,会在ListView的根项显示输入焦点,但这时候小弟写的输入焦点也显示了出来,小弟想问一下是否有办法屏蔽这个动作,使小弟做的输入焦点能够正常显示,而不是在双击间隔太长的时候弹出ListView根项自己的输入焦点,不知道小弟有没有说清楚,有知道怎么解决的大虾请指教一下,有不明白的大虾也请回复,小弟长期关注ing哦!!!谢谢!!!

解决方案 »

  1.   

    不是很明白你的意思,把ListView改为只读能否解决?
      

  2.   

    非常感谢楼上大虾的回复,把ListView改成只读!??能否说得再详细一些啊!??可能是小弟还没有说明白,小弟再说说。是这样的,ListView不是不能编缉子项(没有输入焦点)吗,只有根项才有输入焦点,于是小弟自己写了个动作使ListView的子项能够像根项一样在单击后显示输入焦点(就像TEdit一样),只不过小弟的这个动作要双击才会出现输入焦点。但如果双击间隔太长就会将根项的输入焦点给引出来了,小弟的意思就是想将这个输入焦点给屏蔽了,使自己编的输入焦点在双击后显示出来,若双击间隔太长则不执行任何动作。
      

  3.   

    把LISTVIEW的READONLY属性改为TRUE,那么就不会出现根项编辑的情况了.
      

  4.   

    应该是了!楼上的正确,不知道你怎么实现的让subitem也能输入的,贴出代码来和大家共享吧。
    :)
      

  5.   

    怎么实现的让subitem也能输入的?我也在考虑这个问题,能否分享一下?
      

  6.   

    非常感谢楼上各位大虾的回复,用StringGrid确实是很好的并可以解决小弟要实现的功能,但小弟还是觉得重写一下TListView可以学习学习组件的编写。小弟做ListView的SubItem输入焦点的主体思想就是写一个鼠标双击消息处理的动作,然后判断鼠标双击的坐标并判断是哪个SubItem,然后计算出坐标在ListView上动态显示TEdit。现在基本动作巳经实现了,但又碰到了一个新问题就是当TEdit获取到一个键盘的回车键自行消毁时,系统发出警告,好像是内存方面的访问错误,小弟还要发贴请教一下高手。由于这个控件还没有做完不好分享,以免误了大家的时间,故小弟暂不发表,敬请各位大虾见谅,谢谢!!!