0
ListView_GetItem()을 호출하고 FALSE (오류)를 반환하는 Windows 응용 프로그램이 있습니다. 아래 코드를 참조하십시오. 전달 된 값은 sel_index의 경우 10 줄이고 Col의 경우 1 줄입니다. buf는 충분히 큽니다. GetLastError()는 0을 반환합니다.
ListView_GetItem 매크로의 Windows 온라인 설명서에서 오류 또는 가능한 오류 코드의 원인을 알 수 없습니다. 누군가가 잘못된 것일 수 있다고 말해 줄 수 있습니까?
나는 당신이 초기화되지 않은 분야의 대부분을 왼쪽ListView_GetItem()은 FALSE를 반환합니다.
hList = CreateWindow(WC_LISTVIEW, "", WS_CHILD | WS_BORDER | LVS_REPORT | WS_HSCROLL | WS_VSCROLL | WS_EX_CLIENTEDGE, ... etc
{
LV_ITEM Item; // List view item structure
char buf[10];
Item.mask=LVIF_TEXT;
Item.pszText = buf; // buffer
Item.iItem = sel_index; // selected line
Item.iSubItem = Col; // want subitem
if(!ListView_GetItem(hList, &Item))
{
PrintErr("\r\nGetSubItem failed, error=%d",GetLastError());
return "";
}
return (Item.pszText);
}
대부분의 필드가 초기화되지 않은 채로 있습니다. 'cchTextMax'를 설정하지 않으면 특히 심각합니다. struct :'LV_ITEM Item = {0};'을 초기화하고'cchTextMax'를'10'으로 설정하십시오. –
바로 그 문제였습니다. 정말 고마워요!. 코멘트 대신 답을 적어 주시면 문제를 해결 된 것으로 표시 할 수 있습니까? – Alfred