📄 d110.bmp.txt
字号:
UpdateData(false);
m_blnit=false;
m_bClient=false;
retum TRUE; //retum TRUE unless you set the focus to a control
}
(4)添加消息映射函数
为了区分应用程序是用于服务器还是客户机,用户在选择Group Box中的单选按钮后
后,启动按钮随用户的选择而改变。分别对IDC_SERVER和IDC_CLIENT添加针对
BN_CLICKED事件的函数,并编辑该函数。
void CLANChatDlg::OnServer0
{
// TODO: Add your control notification handler code here
m_Type = 0;
m_IP.EnableWindow(FALSE);
GetDlgltem(IDC_USERNAME)->EnableWindow(FALSE);
GetDlgItem(IDC_STARl: LINK)->SetWindowText("启动服务 ");
(AfxGetMainWnd(》->SetWindowText( "服 ");
}
void CLANChatDlg::OnClient()
{
// TODO: Add your control notification handler code here
m_Type = 1;
m_IP.EnableWindow(TRUE);
GetDlgltem(IDC_USERNAME)->EnableWindow(TRUE);
GetDlgltem(IDC_START_LINK)->SetWindowText( "迮接服 "):
(AfxGetMainWnd(》->SetWindowText( "客户机”);
}
(5)从CSocket继承
为了应用程序能够捕获并响应Socket事件,应该创建用户自己的从CSocket类继承的派
生类。这一点,我们已经在前面的两个实例中向读者作了介绍,在这里就不在重复了。与前
面两个实例不同的是,这里派生的两个类有不同的文件名。这里,我们根据程序的需要从
CSocket派生两个类:CChatServer和CChatClient,派生关系如图3-26所示。
//O
图3-26 自定义派生类与CSocket派生关系
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -