CMainDialog是系统类 还是 自定义类这个函数里面内容 是什么意思 求你耐心剖析long CMainDialog::OnSend(WPARAM wParam, LPARAM lParam){
CShareMemory sm("IPPACK_SEND");
CMessageData *pData = (CMessageData*)sm.GetBuffer(); if(m_bPause)
return 0; // ... 可以在这里过滤数据 BOOL bNoSend = IsDlgButtonChecked(IDC_CLOSESEND);
if(!bNoSend)
{
int nIndex = m_listData.GetItemCount();
if(nIndex == 100)
return 0; 

// 添加新项
char sz[32] = "";
itoa(nIndex+1, sz, 10);
m_listData.InsertItem(nIndex, sz, 0);

// 设置新项文本
char szText[128] = "";
int nCopy = min(pData->nDataLength, 127);
strncpy(szText, pData->data(), nCopy);
m_listData.SetItemText(nIndex, 1, "发送");
m_listData.SetItemText(nIndex, 2, szText);


// 保存共享内存中的数据到进程堆中,以便用户查询
int nTotal = sizeof(CMessageData) + pData->nDataLength;
nTotal = min(nTotal, 500);
BYTE* pByte = new BYTE[nTotal];
memcpy(pByte, pData, nTotal);
m_listData.SetItemData(nIndex, (DWORD)pByte);
}
return 0;
}

解决方案 »

  1.   

    // 添加新项
    char sz[32] = "";
    itoa(nIndex+1, sz, 10);
    m_listData.InsertItem(nIndex, sz, 0);// 设置新项文本
    char szText[128] = "";
    int nCopy = min(pData->nDataLength, 127);
    strncpy(szText, pData->data(), nCopy);
    m_listData.SetItemText(nIndex, 1, "发送");
    m_listData.SetItemText(nIndex, 2, szText);新得到的数据添加到列表控件中了吧// 保存共享内存中的数据到进程堆中,以便用户查询
    int nTotal = sizeof(CMessageData) + pData->nDataLength;
    nTotal = min(nTotal, 500);
    BYTE* pByte = new BYTE[nTotal];
    memcpy(pByte, pData, nTotal);
    m_listData.SetItemData(nIndex, (DWORD)pByte);把pData里数据设置给列表控件,方便以后查询,以后可能会使用m_listData.GetItemData()来查询这些都是猜测,因为你的这段代码,根本无法正确分析到底想做什么