UserListDlg.cpp
上传用户:hysujiao87
上传日期:2007-12-02
资源大小:156k
文件大小:3k
源码类别:

ICQ/即时通讯

开发平台:

C/C++

  1. // UserListDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "QQServer.h"
  5. #include "UserListDlg.h"
  6. #include "MainFrm.h"
  7. #include "QQServerDoc.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CUserListDlg dialog
  15. CUserListDlg::CUserListDlg(CWnd* pParent /*=NULL*/)
  16. : CDialog(CUserListDlg::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(CUserListDlg)
  19. // NOTE: the ClassWizard will add member initialization here
  20. //}}AFX_DATA_INIT
  21. _userList = NULL;
  22. }
  23. void CUserListDlg::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CUserListDlg)
  27. DDX_Control(pDX, IDC_USERLIST, _lcUserList);
  28. //}}AFX_DATA_MAP
  29. }
  30. BEGIN_MESSAGE_MAP(CUserListDlg, CDialog)
  31. //{{AFX_MSG_MAP(CUserListDlg)
  32. //}}AFX_MSG_MAP
  33. END_MESSAGE_MAP()
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CUserListDlg message handlers
  36. BOOL CUserListDlg::OnInitDialog() 
  37. {
  38. CDialog::OnInitDialog();
  39. // TODO: Add extra initialization here
  40. _lcUserList.InsertColumn(0, _T("用户ID"));
  41. _lcUserList.InsertColumn(1, _T("用户密码"));
  42. _lcUserList.InsertColumn(2, _T("用户昵称"));
  43. _lcUserList.InsertColumn(3, _T("IP地址"));
  44. CRect rcList;
  45. _lcUserList.GetClientRect(rcList);
  46. int widthBlock = rcList.Width() / 4;
  47. _lcUserList.SetColumnWidth(0, widthBlock);
  48. _lcUserList.SetColumnWidth(1, widthBlock);
  49. _lcUserList.SetColumnWidth(2, widthBlock);
  50. _lcUserList.SetColumnWidth(3, rcList.Width() - widthBlock * 3);
  51. for(int i = 0; i < _userList->getCount(); i++)
  52. {
  53. CUserData *userData = _userList->getUserByIndex(i);
  54. _ASSERTE(userData != NULL);
  55. if (userData == NULL)
  56. return TRUE;
  57. CString ipaddr;
  58. if(userData->_online == TRUE)
  59. {
  60. ipaddr.Format("%d.%d.%d.%d", userData->_sockAddr.sin_addr.S_un.S_un_b.s_b1,
  61.  userData->_sockAddr.sin_addr.S_un.S_un_b.s_b2,
  62.  userData->_sockAddr.sin_addr.S_un.S_un_b.s_b3,
  63.  userData->_sockAddr.sin_addr.S_un.S_un_b.s_b4);
  64. }
  65. else
  66. ipaddr = "offline";
  67. int index = _lcUserList.InsertItem(_lcUserList.GetItemCount(), userData->_clientID);
  68. _lcUserList.SetItemText(index, 1, userData->_password);
  69. _lcUserList.SetItemText(index, 2, userData->_nickname);
  70. _lcUserList.SetItemText(index, 3, ipaddr);
  71. }
  72. return TRUE;  // return TRUE unless you set the focus to a control
  73.               // EXCEPTION: OCX Property Pages should return FALSE
  74. }