16,471
社区成员
发帖
与我相关
我的任务
分享
void CTreeList::OnCheckchanged(NMTREEVIEW* pNMTV, LRESULT* pResult)
{
HTREEITEM hItemNew = pNMTV->itemNew.hItem;
vector<DWORD>::iterator it = find(m_hCheckedItems.begin(), m_hCheckedItems.end(), (DWORD)hItemNew);
if (GetCheck(hItemNew) == 1)
if (it >= m_hCheckedItems.end())
m_hCheckedItems.push_back((DWORD)hItemNew);
else
if (it < m_hCheckedItems.end())
m_hCheckedItems.erase(it);/**/
*pResult = 0;
}
void CTreeList::OnSelchanged(NMTREEVIEW* pNMTV, LRESULT* pResult)
{
if (pNMTV->itemOld.hItem)
Select(pNMTV->itemOld.hItem, NULL);
Select(pNMTV->itemNew.hItem, TVGN_DROPHILITE);
::SendMessage(m_pBuddyWnd->m_hWnd, WM_NOTIFY, TVN_SELCHANGED, (LPARAM)pNMTV);
*pResult = 1;
}
if (GetCheck(hItemNew) == 1)
{
if (it >= m_hCheckedItems.end())
m_hCheckedItems.push_back((DWORD)hItemNew);
}
else
{
if (it < m_hCheckedItems.end())
m_hCheckedItems.erase(it);/**/
}
*pResult = 0;