如何实现将文件中的数据显示在listcontrol上

void openData(LPVOID pParam)
{
CProcessDlg *dlg = (CProcessDlg *)pParam;
OpenWorker *worker = (OpenWorker *)(dlg->worker);
worker->dlg = dlg;
int cnt = 0;
// Sleep(100);

    DPL_CURVE_INFO1 curveData;
    DPL_INSTRUMENT_INFO1 instData;
    
    CFile file;
    file.Open(worker->pathName, CFile::modeRead | CFile::typeBinary);
    file.SeekToBegin();
    
    DPL_DELAY_FILE head;
    file.Read(&head, sizeof(DPL_DELAY_FILE));
    if (strncmp(head.szDelayFileFlag, "SL6000DPL", 9) != 0)
    {
        worker->err.Format("文件类型无法识别:%s", worker->pathName);
        ::PostMessage(dlg->GetSafeHwnd(), WM_USER_PROCESS, -1, 0);
        return;
    }
    for (size_t i = 0; i < head.szInstrumentNum; i++)
    {
        file.Read(&instData, sizeof(DPL_INSTRUMENT_INFO1));
        
        CString data;
        
        data.Format("%16s", instData.szInstrumentName);                
        data.Format("%16s", instData.szInstrumentAlias);        
        data.Format("%16s", instData.szInstrumentSerial);        
        data.Format("%10d", instData.sInstrumentAddress);          
        data.Format("%16.5f", instData.fInstrumentWeight);        
        data.Format("%16.5f", instData.fInstrumentLengthTransport);    
        data.Format("%16.5f\n", instData.fInstrumentLengthConnect);    
        
        cnt++;
        
    }

    for (size_t j = 0; j < head.szCurveNum; j++)
    {
        file.Read(&curveData, sizeof(DPL_CURVE_INFO1));
        
        CString data;
        
        data.Format("%16s", curveData.szCurveName);                        
        data.Format("%16s", curveData.szCurveAlias);                    
        data.Format("%16s", curveData.szMetricCurveUnit);               
        data.Format("%10d", curveData.sInstrumentAddress);          
        data.Format("%10d", curveData.sCurveId);                        
        data.Format("%16.5f", curveData.fMultiCoefficient);                
        data.Format("%16.5f", curveData.fAddCoefficient);            
        data.Format("%16.5f", curveData.fMetricDelay);                    
        data.Format("%16.5f\n", curveData.fCalculateDelay);    
        
        cnt++;
        ::PostMessage(dlg->GetSafeHwnd(), WM_USER_PROCESS, (cnt * 100) / (head.szInstrumentNum + head.szCurveNum), 0);
        
    }
    ::PostMessage(dlg->GetSafeHwnd(), WM_USER_PROCESS, 100, 0);
    file.Close();
    ExitThread(0);

}

//m_List listcontrol对象 strMsg文件内容
m_List.InsertItem(LVIF_TEXT|LVIF_STATE, i-1, strMsg, LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);