我这个listview来显示文件的thumbnail.功能包括每个选项有一个图片和名字,并且需要对这个文件改名.但是当我的listview的窗口小于整个list的时候,ListView_EditLabel就失效了。不知道怎么回事,麻烦指点下。谢谢。
改名的实现是否就是调用ListView_EditLabel? 

解决方案 »

  1.   

    补充一点:在不捆绑图片的情况下都是对的。还有一点,当listview的窗口小于整个list的时候,出现 ScrollBar,不知道这个是否有影响。
      

  2.   

    ListView_EditLabel就是用于改名的,这个函数返回一个编辑框句柄,当失去焦点时就被销毁了。因此需确保其能获得焦点。
      

  3.   

    焦点应该是得到的,请看下面代码: 问题是只有当listview的窗口小于整个list的时候,ListView_EditLabel才无效。如果窗口能看到全部的list选项,就可以修改。
    RenameSection()
    {
        // already renaming?
        if (m_bRenamingSheet)
            return S_OK;
        if (!::IsWindow(m_hWnd))
            return S_OK;
        HWND hwndList = GetDlgItem(IDC_THUMBLIST);
        ::SetFocus(hwndList);
        ::UpdateWindow(hwndList);    BOOL bHandled;
        m_bSettingFocus = false;
        OnNavRename(IDC_THUMBLIST, 0, bHandled);    return S_OK;
    }
      

  4.   

    发送消息   LVM_EDITLABEL 
      

  5.   

    发送消息   LVM_EDITLABEL 跟ListView_EditLabel是一样的吧?