// StatDlg.cpp : implementation file // #include "stdafx.h" #include "Connect.h" #include "FrontEnd.h" #include "StatDlg.h" #include "Server.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CStatusDlg dialog CStatusDlg::CStatusDlg(CWnd* pParent /*=NULL*/) : CDialog(CStatusDlg::IDD, pParent) { //{{AFX_DATA_INIT(CStatusDlg) //}}AFX_DATA_INIT } void CStatusDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CStatusDlg) DDX_Control(pDX, IDC_GRID, m_grid); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CStatusDlg, CDialog) //{{AFX_MSG_MAP(CStatusDlg) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CStatusDlg message handlers static int AddConnectionToGrid(TConnection& conn, void* pJolly) { const TPrassiConnection& user = (const TPrassiConnection&)conn; CGridCtrl* pGrid = (CGridCtrl*)pJolly; int nPos = pGrid->GetRow()+1; pGrid->SetRow(nPos); pGrid->SetCol(0); CString str; str.Format("%d", nPos); pGrid->SetText(str); pGrid->SetCol(1); pGrid->SetText(user.User()); return 1; } BOOL CStatusDlg::OnInitDialog() { CDialog::OnInitDialog(); m_grid.SetColWidth(1, 4100); m_grid.SetRow(0); m_grid.SetCol(0); m_grid.SetText("N."); m_grid.SetCol(1); m_grid.SetText("Name"); TDongleServer& srv = GetServer(); const int nUsers = srv.Connections(); if (nUsers > 0) { m_grid.SetRows(nUsers+1); srv.ForEachConnection(AddConnectionToGrid, &m_grid); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }