BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
ON_BN_CLICKED(IDC_START, OnStart)
ON_BN_CLICKED(IDC_CLEAR, OnClear)
ON_MESSAGE(WM_SOCKET, OnSocket)
END_MESSAGE_MAP()
BOOL CMainDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置图标
SetIcon(theApp.LoadIcon(IDI_MAIN), FALSE);
// 创建状态栏,设置它的属性
m_bar.Create(WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, CRect(0, 0, 0, 0), this, 101);
m_bar.SetBkColor(RGB(0xa6, 0xca, 0xf0)); // 背景色
int arWidth[] = { 200, -1 };
m_bar.SetParts(2, arWidth); // 分栏
m_bar.SetText(" Windows程序设计进阶之路!", 1, 0); // 第一个栏的文本
m_bar.SetText(" 空闲", 0, 0); // 第二个栏的文本
// 设置列表框控件到m_listInfo对象的关联
m_listInfo.SubclassDlgItem(IDC_INFO, this);
// 初始化监听套节字和连接列表
m_socket = INVALID_SOCKET;
m_nClient = 0;
// 下面是取得本地IP地址的过程,将它显示在状态栏的第一个分栏中
// 取得本机名称
char szHost[256];
::gethostname(szHost, 256);
// 通过本机名称取得地址信息
HOSTENT* pHost = gethostbyname(szHost);
if(pHost != NULL)
{
CString sIP;
// 得到第一个IP地址
in_addr *addr =(in_addr*) *(pHost->h_addr_list);
// 显示给用户
sIP.Format(" 本机IP:%s", inet_ntoa(addr[0]));
m_bar.SetText(sIP, 0, 0);
评论0
最新资源