#include "stdafx.h"
#include "ipmon.h"
#include "ipmonDlg.h"
#include "mstcpip.h"
#include "iphlpapi.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
PROTN2T aOfProto [ PROTO_NUM + 1] = 
{  
{ IPPROTO_IP   , "IP" },
{ IPPROTO_ICMP , "ICMP" },  
{ IPPROTO_IGMP , "IGMP" }, 
{ IPPROTO_GGP  , "GGP" },  
{ IPPROTO_TCP  , "TCP" },  
{ IPPROTO_PUP  , "PUP" },  
{ IPPROTO_UDP  , "UDP" },  
{ IPPROTO_IDP  , "IDP" },  
{ IPPROTO_ND   , "NP"  },  
{ IPPROTO_RAW  , "RAW" },  
{ IPPROTO_MAX  , "MAX" },
{ NULL , "" } 
} ;  /////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog
{
public:
CAboutDlg();// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA // ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
//}}AFX_VIRTUAL// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////
// CIpmonDlg dialogCIpmonDlg::CIpmonDlg(CWnd* pParent /*=NULL*/)
: CDialog(CIpmonDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CIpmonDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_threadID = 0  ;
m_Multihomed = FALSE ;
m_Local    = TRUE ;
}void CIpmonDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CIpmonDlg)
DDX_Control(pDX, IDC_LIST2, m_ctrList);
DDX_Control(pDX, IDC_BUTTON1, m_start);

//}}AFX_DATA_MAP
}BEGIN_MESSAGE_MAP(CIpmonDlg, CDialog)
//{{AFX_MSG_MAP(CIpmonDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////
// CIpmonDlg message handlersBOOL CIpmonDlg::OnInitDialog()
{
CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
} // Set the icon for this dialog.  The framework does this automatically
//  when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here 求  大侠们帮我讲细一点

解决方案 »

  1.   

    这段代码没有任何意义,是由MFC自己生成的对话框的框架代码。候捷的《深入浅出MFC》,对这个做了清楚详尽的解释,花个半天左右的时间看一下该书的相关章节,比在论坛中问,收获大得多。
      

  2.   

    嗬嗬,MFC生成的基于dialog程序的框架哦!
      

  3.   

    这是某个xxxDlg.cpp中的代码除了开始的include部分和数组部分外,基本上都是系统自己生成的从上到下面涉及成员变量的绑定,控件响应函数的绑定,以及初始化等等你结合相应的xxxDlg.h文件,以"类"的观点来看待就清楚很多了.