0

次の状況がわかりません。

    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(GMT): はい、列/アイテム/グループとあらゆる種類の組み合わせを作成した後に配置すると、常にエラー 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
4

1 に答える 1

3

GetLastError() を呼び出すのは、Windows api 関数から失敗の戻りコードを受け取り、api関数が最後のエラーを設定することがドキュメントに記載されている場合のみにしてください。

ここでは、ListView_EnableGroupView() を使用する場合も当てはまりません。

于 2012-09-22T11:02:18.143 に答える