void CIPFilterDlg::InitIPFilters() { CWaitCursor curWait; m_uIPFilterItems = 0; free(m_ppIPFilterItems); m_ppIPFilterItems = NULL; const CIPFilterArray& ipfilter = theApp.ipfilter->GetIPFilter(); m_uIPFilterItems = ipfilter.GetCount(); m_ppIPFilterItems = (const SIPFilter**)malloc(sizeof(*m_ppIPFilterItems) * m_uIPFilterItems); if (m_ppIPFilterItems == NULL) m_uIPFilterItems = 0; m_ulFilteredIPs = 0; for (UINT i = 0; i < m_uIPFilterItems; i++) { const SIPFilter* pFilter = ipfilter[i]; m_ppIPFilterItems[i] = pFilter; m_ulFilteredIPs += pFilter->end - pFilter->start + 1; } SortIPFilterItems(); m_ipfilter.SetItemCount(m_uIPFilterItems); SetDlgItemText(IDC_TOTAL_IPFILTER, GetFormatedUInt(m_uIPFilterItems)); SetDlgItemText(IDC_TOTAL_IPS, GetFormatedUInt(m_ulFilteredIPs)); }
void CIPFilterDlg::OnLvnColumnClickIPFilter(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); m_ipfilter.UpdateSortOrder(pNMLV, ARRSIZE(_aColumns), _aColumns); SortIPFilterItems(); m_ipfilter.Update(-1); *pResult = 0; }