- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用MFC创建应用程序框架操作步骤
创建客户端程序 1.使用MFC AppWizard创建服务器端应用程序框架。 2.为对话框界面添加控件对象 3.为对话框中的控件对象定义相应的成员变量 4.创建从CAsyncSocket类继承的派生类 5.为CAsyncSocket类继承的派生类添加控件对象事件的响应函数 6.为对话框类添加控件对象事件的响应函数 7.为CTalkcDlg对话框类添加其它的成员函数和成员变量 8.手工添加代码 客户机端的类与消息驱动 程序运行后,经过初始化处理,向用户展示对话框,然后进入消息循环,通过消息引发相应类的事件处理函数的执行,从而完成程序的功能。 主要有两类消息:套接字类接收来自网络的消息;对话框类来自用户操作对话框的消息。 m_sConnectSocket变量所代表的CMySocket套接字对象,接收来自网络的套接字事件消息,执行相应的对象处理函数,这些函数并不真正做什么事,而是转而调用对话框类的相应成员函数,由这些函数完成发送链接请求、接收数据和关闭连接的任务。 套接字类的相应成员函数就像传令兵,有了情况就向对话框类报告。 在对话框类中做处理的原因:操作涉及对话框中的许多变量和控件变量,由对话框类的成员函数来处理比较方便和直接。 套接字类的成员变量m_pDlg是指向对话框类的指针,在消息转接中起到了关键作用。 用户直接面对对话框,可以直接操作对话框中的控件,如输入服务器的名字、输入端口号等,当用户单击按钮时,会产生事件消息,引发相应处理函数的执行。 创建类CMySocket 增加3个事件处理函数 为TalksDlg类增加成员变量和成员函数 程序运行结果 7.手工添加的代码 在CTalkcDlg对话框类的talkcDlg.h中添加对于MySocket.h的包含命令,来获得对于套接字支持: #include “MySocket.h” 在CTalkcDlg对话框类的talkcDlg.cpp中添加对于控件变量的初始化代码: // TODO: Add extra initialization here //用户添加的控件变量的初始化代码 BOOL CTalkcDlg::OnInitDialog() { m_strServName=“127.0.0.1; m_nServPort=1000; // 服务端口 = 1000 UpdateData(FALSE); // 更新用户界面 //设置套接字类的对话框指针成员变量 m_sConnectSocket.SetParent(this); } 8.添加事件函数和成员函数的代码 主要在CTalkcDlg对话框类的talkcDlg.cpp中和CMySocket类的Mysocket.cpp中,添加用户自己的事件函数和成员函数的代码,要注意,这些函数的框架已经在前面的步骤中,由VC++的向导生成,只要将用户自己的代码填入其中即可。? 9.进行测试。 测试应分步进行,在上面的步骤中,每作一步,都可以试着编译执行。? 3 客户端程序的类与消息驱动 图 Talkc客户端程序的类与消息驱动的关系 4 客户端程序的主要功能的代码和分析 1.应用程序类CTalkcApp对应的文件 应用程序类CTalkcApp,对应的文件是talkc.h和talkc.cpp; talkc.h定义了CTalkcApp类, talkc.cpp是该类的实现代码,完全由VC++自动创建,用户不必作任何改动。? 2.派生的套接字类CMySocket对应的文件 CMySocket类对应MySocket.h头文件和MySocket.CPP文件, 3.对话框类CTalkcDlg对应的文件 对话框类CTalkcDlg,对应的文件是talkcDlg.h和talkcDlg.cpp。 4.其他文件 对于VC++为talkc工程创建的其他文件,如stdafx.h和stdafx.cpp,以及Resource.h和talkc.rc都不需要作任何处理。 5 创建服务器端程序 同样利用可视化语言的集成开发环境(IDE)来创建服务器端应用程序框架。步骤是: 1.使用MFC AppWizard创建服务器端应用程序框架。 2.为对话框界面添加控件对象 3.为对话框中的控件对象定义相应的成员变量 4.创建从CAsyncSocket类继承的派生类 5.为对话框类添加控件对象事件的响应函数 6.为CTalksDlg对话框类添加其它的成员函数和成员变量 7.手工添加的代码 8.添加事件函数和成员函数的代码 9.进行测试。 控件类型 控件ID Caption 静态文本 static text IDC_STATIC_SERVNAME 服务器名称 静态文本 static text IDC_STATIC_SERV
文档评论(0)