三非标准控件的使用.DOCVIP

  • 2
  • 0
  • 约8.36千字
  • 约 11页
  • 2018-12-02 发布于天津
  • 举报
三非标准控件的使用

实验三 非标准控件的使用 实验目的 了解非标准控件的使用过程; 了解非标准控件的注册方法; 掌握对非控件的控制和事件响应编程的一般方法。 实验要求 1、使用 Microsoft Forms 2.0组中的非标准控件,选择其中一个,掌握使用方法。 如 Microsoft Forms 2.0 CommandButton 控件,要求在Button上是位图显示,点击鼠标左键,Button的显示在两个位图之间切换。 ?? 2、msdxm.ocx 是播放AVI图像文件的控件。控件名称是 ActiveMovieControlObject ,编写使用该控件实现在对话窗口上播放AVI视频的程序(要求:AVI的文件名可选择,用 CFileDialog Class实现)。 ? 3、掌握 MsFlexGrid 控件的使用方法,MsFlexGrid 是用于显示文件及计算结果的控件。(MsFlexGrid 控件全称:Microsoft FlexGrid Control version 6.0) 要求:在对话窗口显示数据 ????? 打开一数据文件,文件格式如下: ?? 张三,95,77,66,55 ?? 李四,84,99,78,67 …… 在打开文件后,数据文件内容在控件上显示。 对其中一些内容修改后,再保存到另一个文件中(CFileDialog)。 实验过程 添加控件 对于一个已注册的ActiveX控件,必须在每个项目中安装该控件。方法是选择Project-Add To Project-Components And Controls,再选择Registered ActiveX Controls,如下图所示: 这里会列出系统中当前已经注册的所有ActiveX控件,找到所需控件后选中,点击Insert,ClassWizard就会产生一个CWnd的派生类,点击OK即可。 一个尚未注册的ActiveX控件,是不会出现在上图的文件列表中的。利用系统提供的注册软件regsvr32可以进行注册。如需注册播放器控件msdxm.ocx,在命令行提示符下键入: ???????regsvr32 msdxm.ocx ???????该命令有些其它选择:/u /s /n /I ???????如在注册表中去掉已注册的控件,用/u,在命令行提示符下键入: ???????regsvr32 /u msdxm.ocx 具体步骤 2.1 CommandButton对话框 首先创建一个单文档工程(也可分别创建3个基于对话框的工程)。 (1)添加测试菜单,设置图像按钮菜单的属性,见下图: 如下图添加加速健Ctrl+F2: 为项目新建一个对话框,利用ClassWizard创建对话框的生成类,命名为CButtonDlg。在此对话框中添加控件Microsoft Forms 2.0 CommandButton。 (2)为菜单添加command消息函数 如下图,在Class name一栏选择视图类,菜单的ID名称ID_BUTTON,COMMAND消息,然后点击添加消息函数: 编辑消息函数: void CActivexView::OnButton() { // TODO: Add your command handler code here CButtonDlg dlg; dlg.DoModal(); } 添加对话框类头文件:#include ButtonDlg.h (3)访问命令按钮 在对话框类CButtonDlg中,为命令按钮添加成员变量m_commandButton,用来改变控件的设置。ActiveX控件中有一通用成员函数SetPicture(),利用它可以设置ActiveX控件显示的位图;然后在工程资源中编辑两幅位图以备使用,其ID为IDB_RED_BITMAP及IDB_BLUE_BITMAP,注意:绘制图片不要在满幅图涂上单色。 首先添加头文件:#include afxctl.h,就可以用类CPictureHolder。CPictureHolder类的设计目的是实现ActiveX控件的Picture属性(可由SetPicture函数实现),它可以将一个图像等控件的名称转换成控件指针dispatch pointer,帮助SetPicture函数实现设置。 编写按钮的消息函数如下: bool bChange; void CButtonDlg::OnClickCommandbutton1() { // TODO: Add your control notification handler code here CPictureHolder pictholder; if (!bChange) { pictholder.CreateFromBitmap(IDB_BLU

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档