在列表视图中启用分组 - 无效句柄

Enable grouping in ListView - Invalid Handle?

本文关键字:无效 句柄 启用 列表 视图      更新时间:2023-10-16

我不明白以下情况:

    HWND hListView = CreateWindowEx( 0, WC_LISTVIEW, NULL, WS_CHILD | WS_VISIBLE |
                                   LVS_REPORT | LVS_EDITLABELS | LVS_SHOWSELALWAYS, 0,
                                   0, rcl.right - rcl.left, rcl.bottom - rcl.top,
                               hMain,( HMENU ) 1000, inst, NULL);
    int error = GetLastError();//error=0;
    //ListView is displayed correctly
    //Some Code for columns
    //Now trying to enable grouping via SendMessage or following macro returns error:6?
    //What the...
    ListView_EnableGroupView(hListView, TRUE);
    error = GetLastError();//error=6;ERROR_INVALID_HANDLE
    //Some Code for Items

那么我错过了什么;D?当句柄就在上面时收到此错误很有趣,适用于其他事情(列、行/项目)

Edit_1 - 7:27(格林威治标准时间):是的,每当在创建列/项目/组和各种组合后放置时,它总是错误 6,这是代码:

    //Groups - Send-Recv
LVGROUP lvg;
lvg.cbSize = sizeof(LVGROUP);
lvg.mask = LVGF_HEADER | LVGF_GROUPID;
lvg.pszHeader = L"Gr1";
lvg.iGroupId = 1;
ListView_InsertGroup( hListView, - 1, & lvg );
//MessageBoxA(NULL, i2s(GetLastError()).c_str(), "ERROR2", MB_OK | MB_ICONERROR);
lvg.pszHeader = L"Gr2";
lvg.iGroupId = 2;
ListView_InsertGroup( hListView, - 1, & lvg );
    //Enable
ListView_EnableGroupView(hListView, TRUE);
//error 6

仅当您从 Windows api 函数获得失败返回代码并且文档告诉您 api 函数设置最后一个错误时,才会调用 GetLastError()。

对于您使用 ListView_EnableGroupView(),这里的情况也不是这样。