Page13.cpp
上传用户:heseme
上传日期:2009-12-23
资源大小:228k
文件大小:2k
开发平台:

Visual C++

  1. // Page13.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "FireWall1.h"
  5. #include "global.h"
  6. #include "Page13.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12.   extern CDataConvert gDataConvert;
  13.   BOOL bhaved;
  14.   struct HostChar *phostchar;
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CPage13 property page
  17. IMPLEMENT_DYNCREATE(CPage13, CPropertyPage)
  18. CPage13::CPage13() : CPropertyPage(CPage13::IDD)
  19. {
  20. //{{AFX_DATA_INIT(CPage13)
  21. m_HostIp = _T("");
  22. //}}AFX_DATA_INIT
  23. phostchar=new struct HostChar;
  24.     m_bSel=FALSE;
  25. }
  26. CPage13::~CPage13()
  27. {
  28. delete phostchar;
  29. }
  30. void CPage13::DoDataExchange(CDataExchange* pDX)
  31. {
  32. CPropertyPage::DoDataExchange(pDX);
  33. //{{AFX_DATA_MAP(CPage13)
  34. DDX_Control(pDX, IDC_LIST1, m_HostList);
  35. DDX_Text(pDX, IDC_EDIT1, m_HostIp);
  36. //}}AFX_DATA_MAP
  37. }
  38. BEGIN_MESSAGE_MAP(CPage13, CPropertyPage)
  39. //{{AFX_MSG_MAP(CPage13)
  40. ON_BN_CLICKED(IDC_BUTTON1, OnOk)
  41. ON_BN_CLICKED(IDC_DELETE, OnDelete)
  42. ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList1)
  43. //}}AFX_MSG_MAP
  44. END_MESSAGE_MAP()
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CPage13 message handlers
  47. void CPage13::OnOk() 
  48. {
  49.   UpdateData();
  50.   memset(phostchar,0,sizeof(struct HostChar));
  51.   gDataConvert.SetHostIp(m_HostIp,bhaved,phostchar);
  52.   if(!m_bSel)
  53.      m_HostList.AddString(m_HostIp);
  54.   UpdateData(FALSE);
  55.   m_bSel=FALSE;
  56. //  if(!bhaved)breset=TRUE;//表示连续设置
  57. }
  58. BOOL CPage13::OnInitDialog() 
  59. {
  60. CPropertyPage::OnInitDialog();
  61. int len=gDataConvert.m_alllinechar.CurHostNum;
  62. CString *str=new CString[len];
  63. for(int i=0;i<len;i++)
  64. {
  65.   str[i]=(CString)gDataConvert.m_alllinechar.Hostchar[i].HostIp;
  66.   m_HostList.AddString(str[i].GetBuffer(str[i].GetLength()));
  67. }
  68. delete []str;
  69. return TRUE;  // return TRUE unless you set the focus to a control
  70.               // EXCEPTION: OCX Property Pages should return FALSE
  71. }
  72. void CPage13::OnDelete() 
  73. {
  74.   UpdateData();
  75.   gDataConvert.DeleteHost(m_HostIp);
  76.   int index=m_HostList.GetCurSel();
  77.   m_HostList.DeleteString(index);
  78.   m_HostIp="";
  79.   UpdateData(FALSE);
  80. }
  81. void CPage13::OnSelchangeList1() 
  82. {
  83. int index=m_HostList.GetCurSel();
  84. if(index!=LB_ERR)
  85. {
  86. m_HostList.GetText(index,m_HostIp);
  87. }
  88.     UpdateData(FALSE);
  89. m_bSel=TRUE;
  90. }
  91. BOOL CPage13::OnSetActive() 
  92. {
  93. return CPropertyPage::OnSetActive();
  94. }