设置ListView的Edit Labels为true后虽然在里边点两次可以变成编辑状态,但是两次点击时间不能相隔太短,否则就不是编辑状态,如何解决这个问题?
就是说如何能像.NET里的Options里的C++Directory里的那个列表一样,不管用多快的速度点击都可以变成可编辑状态,或者我选中一项,然后点一个按钮就可以让那行变成可编辑状态????

解决方案 »

  1.   

    //LVM_EDITLABEL
    ListView_EditLabel(Handle, Index)
      

  2.   

    我也查到楼上说的这个宏了,但是怎么用啊,参数是listview的句柄和选择项的索引吧,但是用完了所选的那项没有什么变化啊,要和别的什么配合使用吗?我的listview也设置Edit Labels为true了啊
      

  3.   

    SetFocus(ListView1.Handle); <<<<<<<设置焦点先
      ListView_EditLabel(ListView1.Handle, 0);
      

  4.   

    我是这样写的,在一个按钮函数里响应的SetFocus(Handle);   //按刚才说的加上了
    ListView_EditLabel(Handle,m_list.GetSelectedIndex());句柄是我的ListView的,可是按这个按钮后ListView闪了一下还是没有变成可编辑状态呀
      

  5.   

    ...我这里测试是可以的
    SetFocus(m_list.hwnd);   //按刚才说的加上了
    ListView_EditLabel(m_list.hwnd,m_list.GetSelectedIndex());你可以先找一个不改变焦点的方法先测试
      

  6.   

    谢谢zswang(伴水清清),要是响应点击事件可以用你说的方法,不知道你有没有办法让一个按钮实现这个功能啊?