LRESULT CHostStatPage::OnInitDialog(HWND hwndFocus, LPARAM lParam) { CString strBuffer; m_wndListView.Attach(GetDlgItem(IDC_HOST_LIST)); strBuffer.LoadString(IDS_HOSTSTAT_ACCESS); m_wndListView.AddColumn(strBuffer, 0); strBuffer.LoadString(IDS_HOSTSTAT_HOSTNAME); m_wndListView.AddColumn(strBuffer, 1); strBuffer.LoadString(IDS_HOSTSTAT_NETWORK_ADDRESS); m_wndListView.AddColumn(strBuffer, 2); m_wndListView.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT); BOOL fSuccess = m_pUnitDevice->UpdateHostInfo(); if (!fSuccess) { m_wndListView.AddItem(0,0,_T("Unavailable")); } DWORD nHostInfo = m_pUnitDevice->GetHostInfoCount(); for (DWORD i = 0; i < nHostInfo; ++i) { ACCESS_MASK access = 0; CONST NDAS_HOST_INFO* pHostInfo = m_pUnitDevice->GetHostInfo(i,&access); ATLASSERT(NULL != pHostInfo); // index is correct, then it must succeeded (VOID) pAddressString( strBuffer, &pHostInfo->LPXAddrs, &pHostInfo->IPV4Addrs); m_wndListView.AddItem(i, 0, (access & GENERIC_WRITE) ? _T("RW") : _T("RO")); m_wndListView.SetItemText(i, 1, pHostInfo->szHostname); m_wndListView.SetItemText(i, 2, strBuffer); } CRect rcListView; m_wndListView.GetClientRect(rcListView); // m_wndListView.SetColumnWidth(0, 55); // m_wndListView.SetColumnWidth(1, 110); m_wndListView.SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER); m_wndListView.SetColumnWidth(1, LVSCW_AUTOSIZE_USEHEADER); m_wndListView.SetColumnWidth(2, LVSCW_AUTOSIZE_USEHEADER); // m_wndListView.SetColumnWidth(1, // rcListView.Width() - wndListView.GetColumnWidth(0)); return 1; }
LRESULT CDeviceHostStatPage::OnWorkDone(UINT uMsg, WPARAM wParam, LPARAM lParam) { // Stop the animation m_findHostsAnimate.Stop(); m_findHostsAnimate.ShowWindow(SW_HIDE); // Fill the list view CString strBuffer; int size = m_hostInfoDataArray.GetSize(); for (int i = 0; i < size; ++i) { HostInfoData& data = m_hostInfoDataArray[i]; const NDAS_HOST_INFO* pHostInfo = &data.HostInfo; ACCESS_MASK access = data.Access; (void) pAddressString( strBuffer, &pHostInfo->LPXAddrs, &pHostInfo->IPV4Addrs); CString rw(MAKEINTRESOURCE(IDS_HOST_RW)); CString ro(MAKEINTRESOURCE(IDS_HOST_RO)); m_wndListView.AddItem(i, 0, (access & GENERIC_WRITE) ? rw : ro); m_wndListView.SetItemText(i, 1, pHostInfo->szHostname); m_wndListView.SetItemText(i, 2, strBuffer); } AdjustHeaderWidth(m_wndListView); m_wndRefreshLink.EnableWindow(TRUE); m_hCursor = AtlLoadSysCursor(IDC_ARROW); SetCursor(m_hCursor); return TRUE; }