2012-09-22 3 views
0

나는 다음과 같은 상황이 이해가 안 : 그래서ListView에서 그룹화 사용 - 잘못된 핸들?

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) : 네,

//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 
+0

실제로 그룹을 만들었습니까? 그룹 뷰를 목록 뷰에 추가 할 때까지 그룹 뷰를 켤 수 있다고 생각하지 않습니다. –

+0

내 질문을 수정했습니다. 그리고 대답은 "예, 선생님"입니다. – user1017258

답변

3

호출 GetLastError()는 문서를 알려줍니다 윈도우 API 함수에서 오류 리턴 코드를 가지고 : 열/아이템/그룹과 조합의 모든 종류, 여기에 코드입니다 api 함수가 마지막 오류를 설정합니다.

ListView_EnableGroupView()를 사용하는 경우도 여기에 해당하지 않습니다.

+0

동의. ListView_EnableGroupView()는 실패하면 직접 GetLastError()를 사용하지 않고 자체 오류 코드를 반환합니다. –