MFC+Winsock类cs聊天程序开发.doc

MFC+Winsock类cs聊天程序开发.doc

ID:25791919

大小:204.51 KB

页数:12页

时间:2018-11-22

MFC+Winsock类cs聊天程序开发.doc_第1页
MFC+Winsock类cs聊天程序开发.doc_第2页
MFC+Winsock类cs聊天程序开发.doc_第3页
MFC+Winsock类cs聊天程序开发.doc_第4页
MFC+Winsock类cs聊天程序开发.doc_第5页
资源描述:

《MFC+Winsock类cs聊天程序开发.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、案例开发与分析——聊天程序的开发一、客户端任务1:创建客户端框架程序,设计用户界面,并实现与服务器的连接。1.创建一个空白工作区,并命名为Chat。2.在Chat工作区,用MFCAppWizard创建基于对话框的项目ChatClient,并在Step2中选中WindowsSocket选项。3.在对话框中添加控件,如下图所示:4.对话框中的控件属性如下表:表1控件属性控件类型控件IDCaption其他ListBoxIDC_LIST_MESSAGE不选SortListBoxIDC_LIST_ONLINE_USERS不选SortEditBoxIDC_EDIT

2、_MESSAGE选中Multiline和VerticalScrollRadioButtonIDC_RADIO_GROUP群聊RadioButtonIDC_RADIO_PRIVATE私聊ButtonIDC_BUTTON_LOGIN登录ButtonIDC_BUTTON_LOGOUT退出5.用ClassWizard为控件对象定义相应的成员变量,如下表所示:表2控件对应成员变量控件ID控件类型成员变量名IDC_EDIT_MESSAGECStringm_strMessageIDC_LIST_MESSAGECListBoxm_listMessageIDC_LIST

3、_ONLINE_USERSCListBoxm_listUsers121.添加对话框,ID为IDD_DIALOG_LOGIN,Caption为“登录”。2.在对话框中添加控件,如下图所示:3.对话框中的控件属性如下:表3登录对话框控件属性控件类型控件IDCaption其他EditBoxIDC_EDIT_IPEditBoxIDC_EDIT_PORTEditBoxIDC_EDIT_USERNAMEEditBoxIDC_EDIT_PASSWORD选Styles->PasswordButtonIDOK连接选Styles->DefaultButtonButtonI

4、DCANCEL取消4.添加一个新类,类名为CLoginDlg,基类为CDialog,DialogID为IDD_DIALOG_LOGIN。5.用ClassWizard为对话框的控件对象定义成员变量,如下表所示:表4登录对话框控件对应成员变量控件ID控件类型成员变量名IDC_EDIT_IPCStringm_strIPIDC_EDIT_PASSWORDCStringm_strPasswordIDC_EDIT_PORTUINTm_nPortIDC_EDIT_USERNAMECStringm_strUserName6.为CChatClientDlg类添加“登录”

5、按钮的单击事件消息处理函数OnButtonLogin(),并添加如下代码:CLoginDlgdlg;intnRet=-1;nRet=dlg.DoModal();7.在ChatClientDlg.cpp中添加:#include"LoginDlg.h"。编译项目并运行,单击登录按钮,看看运行情况。此时单击退出按钮无反应,tellmewhy?121.添加一个从CSocket类派生的新类CMySocket,添加类型为CChatClientDlg*的成员变量m_pDlg,并修改默认构造函数和析构函数如下:(注意,也应修改类声明中的构造函数原型)CMySocket

6、::CMySocket(CChatClientDlg*pDlg){m_pDlg=pDlg;}CMySocket::~CMySocket(){m_pDlg=NULL;}在CMySocket类的头文件中,添加前置声明:classCChatClientDlg;。2.为CChatClientDlg类添加类型为CMySocket*的成员变量m_pMySocket,类型为BOOL的成员变量m_bGroupChat。在CChatClientDlg类的头文件中,添加前置声明:classCMySocket;。3./////在CChatClientDlg::OnInitD

7、ialog()中添加如下代码://TODO:Addextrainitializationherem_bGroupChat=TRUE;//默认聊天方式为群聊((CButton*)GetDlgItem(IDC_RADIO_GROUP))->SetCheck(TRUE);//设置群聊按钮被选中((CButton*)GetDlgItem(IDC_BUTTON_LOGOUT))->EnableWindow(FALSE);((CEdit*)GetDlgItem(IDC_EDIT_MESSAGE))->EnableWindow(FALSE);//设置编辑框不可用4.

8、在CChatClientDlg类的OnButtonLogin()中添加如下代码:voidCCh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。