实用入门教程第八讲_第1页
实用入门教程第八讲_第2页
实用入门教程第八讲_第3页
实用入门教程第八讲_第4页
实用入门教程第八讲_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

COM实用入门教程第八讲主讲人:阙海忠VC知识库网站()拍摄制作本讲要点:一、综合例子的问题描述;二、综合例子的问题分析;三、综合例子中组件A的制作;四、综合例子中组件B的制作;五、用MFC测试组件A与组件B。问题描述某软件公司需要设计一套用户登录组件。对该套组件要求不高,不要求数据的加密解密,不要求数据库的读写,不要求客户端与服务器进行数据通讯与验证,不要求验证码的生成。 具体要求如下:1、该套组件包含组件A与组件B两个组件。2、组件A存储了一个用户名以及一个与之对应的密码。3、调用者可调用组件A的方法来验证调用者所传入的用户名与密码是否正确。4、调用者可设置或读取组件A所允许的用户验证连续失败的次数。5、验证连续失败超过次数后,若再接收调用者所传入的验证请求,组件A拒绝继续验证,并向调用者通知“系统拒绝继续验证用户!”问题描述 6、组件B必须包含基本的界面布局,界面元素有“用户名文本”,“用户名输入框”,“密码文本”,“密码输入框”,“登录按钮”。其中“密码输入框”在接收字符输入时,不能显示明文字符。 7、调用者可调用组件B的方法,修改“用户名文本”,“密码文本”以及“登录按钮”上面的文字。 8、调用者可读取或设置组件B是否要对用户名与密码做非空判断。如果需要做非空判断,则在点击“登录按钮”时,遇到空的用户名或空的密码就弹出提示框“用户名不能为空”或“密码不能为空”,然后不继续验证用户。 9、当点击“登录按钮”时,若组件B不需要做非空判断,则直接通知调用者要验证的用户名与密码;若组件B需要做非空判断,且用户名与密码不为空时,则也通知调用者要验证的用户名与密码。本讲要点:一、综合例子的问题描述;二、综合例子的问题分析;三、综合例子中组件A的制作;四、综合例子中组件B的制作;五、用MFC测试组件A与组件B。问题分析针对要求1,我们发现组件A不需要界面,我们可用简单对象实现。组件B需要界面,我们可用复合组件实现。针对要求2,组件A内部存储的用户名与密码可用私有成员变量存储,变量类型BSTR。针对要求3,组件A要提供一个方法,方法的参数为三个,分别为用户名,密码,验证结果。前两个参数为BSTR类型,后一个参数为VARIANT_BOOL*类型。问题分析针对要求4,组件A要提供一个属性,属性类型为LONG,用于设置或读取组件A所允许的验证连续失败的次数。针对要求5,组件A要提供一个事件,以便向调用者发出通知。针对要求6,需要往组件B拖入几个基本的控件,摆列控件的布局,设置控件的ID,及部分属性。问题分析针对要求7,组件B要提供一个方法,用于设置相应子控件的显示文字。针对要求8,组件B要提供一个属性,用于读取或设置是否进行非空判断。针对要求9,组件B必须提供一个事件,用于通知调用者要登录的用户名与密码。本讲要点:一、综合例子的问题描述;二、综合例子的问题分析;三、综合例子中组件A的制作;四、综合例子中组件B的制作;五、用MFC测试组件A与组件B。组件A的向导Section8Demo1项目用于存放组件A。组件A的向导组件A的向导组件A的向导组件A的向导组件A的向导组件A的向导组件A的向导为组件A添加成员变量为组件A初始化成员变量为组件A添加属性为组件A添加属性为组件A添加属性实现组件A的属性属性的实现代码:为组件A添加方法为组件A添加方法为组件A添加方法为组件A添加事件为组件A添加事件为组件A添加事件为组件A添加事件为组件A添加事件实现组件A的方法本讲要点:一、综合例子的问题描述;二、综合例子的问题分析;三、综合例子中组件A的制作;四、综合例子中组件B的制作;五、用MFC测试组件A与组件B。组件B的向导Section8Demo2项目用于存放组件B。组件B的向导组件B的向导组件B的向导组件B的向导组件B的向导组件B的向导组件B的向导组件B的向导为组件B添加成员初始化组件B的成员设计组件B的界面为组件B添加属性为组件B添加属性为组件B添加属性实现组件B的属性为组件B添加方法为组件B添加方法为组件B添加方法实现组件B的方法为组件B添加事件为组件B添加事件为组件B添加事件为组件B添加事件为组件B添加事件实现Login按钮的点击事件本讲要点:一、综合例子的问题描述;二、综合例子的问题分析;三、综合例子中组件A的制作;四、综合例子中组件B的制作;五、用MFC测试组件A与组件B。MFC测试向导MFC测试向导MFC测试向导MFC测试向导MFC测试向导MFC测试向导MFC测试向导添加包含文件为组件A添加事件处理程序实现组件A的事件处理程序实现组件A的事件接收类组件A的事件接收类为CSink,实现方法与项目MFCTest2Section7Demo1的CSink类似。具体可以查看sink.h与sink.cpp为对话框类添加成员组件A的事件接收器的创建与释放往MFC插入组件B右键对话框,选"插入ActiveX控件"往MFC插入组件B为组件B添加变量右键添加变量为组件B添加事件处理程序添加控件初始化代码在OnInitDialog()中添加如下代码:实现组件B的事件处理程序运行测试截图运行测试截图运行测试截图运行测试截图运行测试截图回顾本讲要点:一、综合例子的问题描述;二、综合例子的问题分析;三、综合例子中组件A的制作;四、综合例子中组件B的制作;五、用MFC测试组件A与组件B。结束语COM的实用入门教程在这边就结束了,非常感谢能与各位网友共同学习COM组件的制作与使用方法。同时也希望各位网友多多支持我们VC知识库的视频教程,我们会在您的支持下把

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论