2012-07-26 4 views
-2

ListCtrl에 일부 항목을 삽입하고 싶습니다. 이것은 나의 행동 강령이다. 나는 프로그램에 오류가있는 것처럼 보일 수 없다. 불행히도 모든 항목이 목록에 표시되는 것은 아니며 이유가 무엇인지 알 수 없습니다. 도와주세요.추가 할 때 ListView 항목이 나타나지 않습니다.

LVITEM lItem; 

    lItem.mask=LVIF_TEXT; 
    lItem.iItem = 1 + (nColNum - 1) * 3; 
    lItem.iSubItem=0; 
    lItem.pszText = W2T(L""); 
    pDlgSportNews->m_List.InsertItem(1 + (nColNum-1) * 3 , lItem.pszText); 

    WCHAR szzText[MAX_PATH]; 

    lItem.iItem = 1 + (nColNum - 1) * 3; 
    lItem.iSubItem = 1; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szGameName); 
    pDlgSportNews->m_List.SetItemText(1 + (nColNum - 1) * 3 , 1 , lItem.pszText); 

    lItem.mask=LVIF_TEXT; 
    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 0; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szGameTime); 
    pDlgSportNews->m_List.InsertItem(2 + + (nColNum - 1) * 3 , lItem.pszText); 

    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 1; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szA_Team); 
    pDlgSportNews->m_List.SetItemText(2 + (nColNum - 1) * 3 , 1 , lItem.pszText); 

    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 2; 
    if (m_arData[nColNum - 1].bFT_HDP) 
    { 
     swprintf(szzText , L"%s %s" , m_arData[nColNum - 1].szFT_HDP , m_arData[nColNum - 1].szFT_A_HDP); 
     lItem.pszText = W2T(szzText); 
    } 
    else 
     lItem.pszText = W2T(m_arData[nColNum - 1].szFT_A_HDP); 
    pDlgSportNews->m_List.SetItemText(2 + (nColNum - 1) * 3 , 2 , lItem.pszText); 

    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 3; 
    swprintf(szzText , L"%s %s" , m_arData[nColNum - 1].szFT_UO , m_arData[nColNum - 1].szFT_A_UO); 
    lItem.pszText=W2T(szzText); 
    pDlgSportNews->m_List.SetItemText(2 + (nColNum - 1) * 3 , 3 , lItem.pszText); 

    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 4; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szFT_S_Odd); 
    pDlgSportNews->m_List.SetItemText(2 + (nColNum - 1) * 3 , 4 , lItem.pszText); 

    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 5; 
    if (m_arData[nColNum - 1].bHT_HDP) 
    { 
     swprintf(szzText , L"%s %s" , m_arData[nColNum - 1].szHT_HDP , m_arData[nColNum - 1].szHT_A_HDP); 
     lItem.pszText=W2T(szzText); 
    } 
    else 
     lItem.pszText = W2T(m_arData[nColNum - 1].szHT_A_HDP);  
    pDlgSportNews->m_List.SetItemText(2 + (nColNum - 1) * 3 , 5 , lItem.pszText); 

    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 6; 
    swprintf(szzText , L"%s %s" , m_arData[nColNum - 1].szHT_UO , m_arData[nColNum - 1].szHT_A_UO); 
    lItem.pszText=W2T(szzText); 
    pDlgSportNews->m_List.SetItemText(2 + (nColNum - 1) * 3 , 6 , lItem.pszText); 

    lItem.iItem = 2 + (nColNum - 1) * 3; 
    lItem.iSubItem = 7; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szHT_S_Odd); 
    pDlgSportNews->m_List.SetItemText(2 + (nColNum - 1) * 3 , 7 , lItem.pszText); 

    lItem.pszText = W2T(L" "); 
    pDlgSportNews->m_List.InsertItem(3 + (nColNum-1) * 3 , lItem.pszText); 

    lItem.iItem = 3 + (nColNum - 1) * 3; 
    lItem.iSubItem = 1; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szB_Team); 
    pDlgSportNews->m_List.SetItemText(3 + (nColNum - 1) * 3 , 1 , lItem.pszText); 

    lItem.iItem = 3 + (nColNum - 1) * 3; 
    lItem.iSubItem = 2; 
    if (!m_arData[nColNum - 1].bFT_HDP) 
    { 
     swprintf(szzText , L"%s %s" , m_arData[nColNum - 1].szFT_HDP , m_arData[nColNum - 1].szFT_B_HDP); 
     lItem.pszText=W2T(szzText); 
    } 
    else 
     lItem.pszText = W2T(m_arData[nColNum - 1].szFT_A_HDP); 
    pDlgSportNews->m_List.SetItemText(3 + (nColNum - 1) * 3 , 2 , lItem.pszText); 

    lItem.iItem = 3 + (nColNum - 1) * 3; 
    lItem.iSubItem = 3; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szFT_B_UO); 
    pDlgSportNews->m_List.SetItemText(3 + (nColNum - 1) * 3 , 3 , lItem.pszText); 

    lItem.iItem = 3 + (nColNum - 1) * 3; 
    lItem.iSubItem = 4; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szFT_D_Odd); 
    pDlgSportNews->m_List.SetItemText(3 + (nColNum - 1) * 3 , 4 , lItem.pszText); 

    lItem.iItem = 3 + (nColNum - 1) * 3; 
    lItem.iSubItem = 5; 
    if (!m_arData[nColNum - 1].bHT_HDP) 
    { 
     swprintf(szzText , L"%s %s" , m_arData[nColNum - 1].szHT_HDP , m_arData[nColNum - 1].szHT_B_HDP); 
     lItem.pszText=W2T(szzText); 
    } 
    else 
     lItem.pszText = W2T(m_arData[nColNum - 1].szHT_B_HDP); 
    pDlgSportNews->m_List.SetItemText(3 + (nColNum - 1) * 3 , 5 , lItem.pszText); 

    lItem.iItem = 3 + (nColNum - 1) * 3; 
    lItem.iSubItem = 6; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szHT_B_UO); 
    pDlgSportNews->m_List.SetItemText(3 + (nColNum - 1) * 3 , 6 , lItem.pszText); 

    lItem.iItem = 3 + (nColNum - 1) * 3; 
    lItem.iSubItem = 7; 
    lItem.pszText = W2T(m_arData[nColNum - 1].szHT_D_Odd); 
    pDlgSportNews->m_List.SetItemText(3 + (nColNum - 1) * 3 , 7 , lItem.pszText); 

    pDlgSportNews->m_List.UpdateData(); 

    UpdateData(FALSE); 
+5

* "코드에 오류가 없습니다. 불행히도 모든 항목이 목록에 표시되지 않습니다 *"- 부적절한 가정처럼 보입니다. 또한 루프는 친구입니다. –

답변

0

은 아마도 여기 사지에 나가기 만 :

lItem.iItem = 1 + (nColNum - 1) * 3;

왜 당신은 항목 번호 이런 식으로 계산된다? 이것은 모든 항목이 추가되지 않는 이유 일 수 있습니다. CListCtrl에 항목을 추가하기위한

상용구 : 누군가가 제안한 것처럼

// First item (first row) 
VITEM item; 
item.mask = LVIF_TEXT; 
item.pszText = "Column Text"; 
item.iItem = 0;  // Item number 
item.iSubItem = 0;   // Sub item number (column number) 
m_CListCtrl.InsertItem(&item); 

// Second item (second row) 
//... 
item.iItem = 1; 
//... 

, 당신은 루프를 사용해야합니다.

+0

글쎄, Row of Count는 매우 커서 항목을 하나씩 추가 할 수 없습니다. – bTagTiger

+0

항목이 1 열에 표시되고 다른 항목은 표시되지 않았습니다. – bTagTiger

관련 문제