代码贴

MFC列表控件使用详解

MFC之CListCtrl

 CListCtrl m_lstGame;
 CImageList m_lstImage;

m_lstImage.Create(64, 64, ILC_COLOR | ILC_MASK, 5, 5);

 m_lstImage.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
 int nIndex = m_lstImage.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
 m_lstGame.SetImageList(&m_lstImage, LVSIL_NORMAL);
 m_lstImage.SetOverlayImage(nIndex, 1);

m_lstGame.InsertItem(i, vecGameList[i], 0);

void Cpatchhelper_mfcDlg::OnNMRclickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
 // TODO: Add your control notification handler code here
 POSITION pos = m_lstGame.GetFirstSelectedItemPosition();
 m_strSelectedGame = m_lstGame.GetItemText(m_lstGame.GetNextSelectedItem(pos), 0);
 CMenu menu;
 menu.LoadMenu(IDR_MENU1);
 menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, LOWORD(GetMessagePos()), HIWORD(GetMessagePos()), this);
 *pResult = 0;
}

LRESULT Cpatchhelper_mfcDlg::OnNewPatchArrived(WPARAM wParam, LPARAM lParam)
{
 const vector<GamePatchRecord*>& vecGamePatch = m_pAgent->GetNewGamePatches();
 if(vecGamePatch.size() > 0)
 {
  for (size_t i = 0; i < vecGamePatch.size(); i++)
  {
   map<CString, int>::const_iterator iter = m_mapGameToIndex.find(vecGamePatch[i]->GetGameName());
   if(iter != m_mapGameToIndex.end())
    m_lstGame.SetItemState(iter->second, INDEXTOOVERLAYMASK(1), LVIS_OVERLAYMASK);
  }
 }
 return 0L;
}

m_lstResult.GetClientRect(rect);
 m_lstResult.InsertColumn(0, _T("PatchName"), LVCFMT_LEFT, rect.Width()*0.7);
 m_lstResult.InsertColumn(1, _T("Size"), LVCFMT_LEFT, rect.Width()*0.1);
 m_lstResult.InsertColumn(2, _T("Date"), LVCFMT_LEFT, rect.Width()*0.2);

void ResultDlg::InsertItem(const CString& strPatchName, const CString& strSize, const CTime& tmDate)
{
 m_lstResult.InsertItem(m_nCount, strPatchName);
 m_lstResult.SetItemText(m_nCount, 1, strSize);
 m_lstResult.SetItemText(m_nCount, 2, tmDate.Format(_T("%Y-%m-%d")));
 m_nCount++;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值