• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 急啊!如何写一个象对话框一样的ActiveX控件?上面可以放些按钮,编辑框之类的控件。

急啊!如何写一个象对话框一样的ActiveX控件?上面可以放些按钮,编辑框之类的控件。

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了 急啊!如何写一个象对话框一样的ActiveX控件?上面可以放些按钮,编辑框之类的控件。等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 急啊!如何写一个象对话框一样的ActiveX控件?上面可以放些按钮,编辑框之类的控件。
描述:

急啊!如何写一个象对话框一样的ActiveX控件?上面可以放些按钮,编辑框之类的控件。
用MFC来写。


解决方案1:

引入Dialog技术 
---- 下面介绍在制作ActiveX控件时引入有模式对话框技术,制作步骤如下: 
创建一新的MFC ActiveX ControlWizard项目,取名为Hello,其他用缺省选项;
在ResourceView页中新增一对话框资源,命名为IDD_HELLODIALOG,可以在对话框上放自己的控件;
为对话框资源IDD_HELLODIALOG创建新类CHelloDialog,从CDialog继承;
确认在HelloCtrl.h中已加入语句#include "HelloDialog.h",为CHelloCtrl类添加成员变量CHelloDialog m_helloDialog;
用ClassWizard在Automation页中为CHelloCtrl添加一方法void DoHello(),外部名亦为DoHello; 
void CHelloCtrl::DoHello() 
{
// 显示对话框
m_helloDialog.DoModal();
}
---- 可以用ActiveX Control Test Container测试Hello Control的DoHello方法。 
---- 下面介绍在制作ActiveX控件时引入无模式对话框技术,制作步骤如下: 
在上面工作的基础上,用ClassWizard为CHelloCtrl添加WM_CREATE的处理函数OnCreate,在此创建无模式对话框;
修改DoHello代码,在此显示对话框; 
int CHelloCtrl::OnCreate
(LPCREATESTRUCT lpCreateStruct) 
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// 创建对话框
m_helloDialog.Create(IDD_HELLODIALOG);
return 0;
}
void CHelloCtrl::DoHello() 
{
// 显示对话框
m_helloDialog.ShowWindow(SW_SHOW);
}
---- 下面介绍制作以对话框作为界面的ActiveX控件技术,制作步骤如下: 
在上面工作的基础上,设置对话框资源IDD_HELLODIALOG属性的Style页为Style:Child、Border:Dialog Frame、Title Bar:unchecked;设置More Style页为Visible:checked;Control:checked;设置Extended Styles页为Static Edge:checked;
在CHelloCtrl::OnCreate中写入m_helloDialog.Create(IDD_HELLODIALOG,this)语句;
在CHelloCtrl::OnDraw中写入m_helloDialog.MoveWindow(rcBounds,TRUE); 
int CHelloCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// 创建对话框
m_helloDialog.Create(IDD_HELLODIALOG,this);
return 0;
}
void CHelloCtrl::OnDraw(CDC* pdc, const
 CRect& rcBounds, const CRect& rcInvalid)
{
// 定位Hello对话框
m_helloDialog.MoveWindow(rcBounds,TRUE);
}

解决方案2:

http://www.codeguru.com/activex/dialogctrl.shtml


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 急啊!如何写一个象对话框一样的ActiveX控件?上面可以放些按钮,编辑框之类的控件。

相关文章

  • 2017-06-05 当程序运行发生异常时(由于工程很大,模块很多,异常无法知道是什莫),如何才能进行善后处理,如保存数据等,程序如何写????
  • 2017-06-04 现金300元求解一个问题,也许您只是举手之劳
  • 2017-06-05 动态库中不能使用另一个动态库的导出类?
  • 2017-06-04 如何实现flash透明背景播放?
  • 2017-06-05 难道“扩展dll”不能导出对话框?
  • 2017-06-04 对COM只懂一点点,想问看什么书比较好?
  • 2017-06-04 繁体版本中输入简体字的问题
  • 2017-06-05 directshow加载ax问题
  • 2017-06-05 怎样才能知道系统是在锁定状态和由锁定状态登录回到一般状态??谢谢!
  • 2017-06-05 我调用CreateProcess,主程序最后退出时会非法访问

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 线程函数为什么不能调用dlg类里的共有对象。
    • COM调用的小问题!
    • 关于COM对象接口规则的疑惑
    • VC++数据库问题
    • ActiveX控件CShockwaveFlash的右键菜单如何屏蔽掉?
    • 我写的ActiveX对麦克风的声音进行监控,我可能要在多个页面使用
    • 编写Windows服务的问题
    • 我有一段内存,或者一个变量也可以,怎么能把它lock,包括操作系统都不能往里面写东西?
    • webbrowser的beforenavigate能否获取到是否新页面?
    • 关于在DLL中获取消息队列消息的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有