将简单的 MFC CView/CDocument/CSingleDocTemplate 应用程序转换为 ActiveX 控件

2024-03-23

我有一个相当简单的 MFC 应用程序,它只定义了自己的子类CDocument, CView and CFrameWnd并通过使用它们CSingleDocTemplate在视图的树中显示文档的只读内容。都是非常标准的MFC MVC。

我现在需要转换此应用程序,以便它作为 ActiveX 控件工作,然后我可以将其嵌入到更大的应用程序中。

我该怎么办?

是否可以使用COleControl子类代替CFrameWnd中的子类CSingleDocTemplate?或者我需要放置CFrameWnd内的子类COleControl不知何故?

如果做不到这一点,我该如何使用我现有的CDocument\CViewActiveX 控件中的子类?


回答我自己的问题:我发现很多关于这方面的旧文章的参考,该文章曾经位于http://www.microsoft.com/mind/0497/mfc.asp http://www.microsoft.com/mind/0497/mfc.asp但早已消失。 :(

不过幸运的是,回溯机 http://web.archive.org/collections/web.html仍然有它的完整副本:

“使用 MFC 文档/视图模型设计 ActiveX 组件”,作者:Steve Zimmerman,Microsoft 交互式开发人员(1997 年 4 月) http://replay.waybackmachine.org/20070813090526/http://www.microsoft.com/mind/0497/mfc.asp

Steve 提供了两个新类的源代码:

CActiveXDocTemplate: 的一个子类CSingleDocTemplate http://msdn.microsoft.com/en-us/library/7yha6tek%28v=VS.90%29.aspx
CActiveXDocControl: 的一个子类COleControl http://msdn.microsoft.com/en-us/library/77hhz71h%28v=VS.90%29.aspx

这让我可以使用现有的CView http://msdn.microsoft.com/en-us/library/ezc3635w%28v=VS.90%29.aspx and CDocument http://msdn.microsoft.com/en-us/library/y59b487w%28v=VS.90%29.aspxActiveX 控件中的子类。

(谢谢史蒂夫,无论你现在身在何处)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将简单的 MFC CView/CDocument/CSingleDocTemplate 应用程序转换为 ActiveX 控件 的相关文章

  • Linq - 从表达式 创建表达式

    我有一个谓词Expression
  • 为什么我会收到未找到分析器的警告?

    我创建了一个玩具项目来检查最新的 NET 7 预览版 5 和正则表达式代码生成 它效果很好 所以我对现有项目应用了相同的更改 不是为了生产 而是为了个人生产力 由于某种原因 我收到这些警告 CS8032 An instance of ana
  • 如何在特定时间以毫秒精度触发 C# 函数?

    我有两台计算机 它们的时间通过 NTP 同步 确保时间仅相差几毫秒 其中一台计算机将通过 TCP 向另一台计算机发送一条消息 以在两台计算机上的未来指定时间启动某个 c 函数 我的问题是 如何在特定时间以毫秒精度 或更好 触发 C 中的函数
  • Dapper 在执行时挂起

    我有一个 IDb连接 sql UPDATE 表名 SET json json lastupdate SYSDATE WHERE id id var param new DynamicParameters param Add json jso
  • 如何从 Qt 应用程序通过 ODBC 连接到 MySQL 数据库?

    我有一个新安装的 MySQL 服务器 它监听 localhost 3306 从 Qt 应用程序连接到它的正确方法是什么 原来我需要将MySQL添加到ODBC数据源 我在遵循这个视频教程后做到了这一点 https youtu be K3GZi
  • ASP.NET - 在 RenderContent 调用中将事件处理程序添加到 Repeater 内的 LinkBut​​ton

    我有一个加载自定义用户控件的 Sharepoint WebPart 用户控件包含一个 Repeater 而 Repeater 又包含多个 LinkBut ton 在 Web 部件的 RenderContent 调用中 我有一些用于添加事件处
  • Monotouch全局异常处理

    我在野外发现了一只令人讨厌的虫子 但我无法确定它的具体情况 有没有办法拥有全局 Try Catch 块 或者有办法处理 Monotouch 中未处理的任何异常 我可以包起来吗UIApplication Main args 在 try cat
  • Visual Studio 中列表框的上移、下移按钮[重复]

    这个问题在这里已经有答案了 我正在尝试制作一个上移按钮和一个下移按钮 以移动 Microsoft Visual Studio 2012 中列表框中的选定项目 我已经在 WDF jquery winforms 和其他一些表单中看到了其他示例
  • 如何减少 MinGW g++ 编译器生成的可执行文件的大小?

    我有一个简单的 Hello world C 程序 在 Win XP 下由 MinGW g 编译器编译为 500kB 可执行文件 有人说这是由于iostream的库和静态链接libstdc dll Using s链接器选项有点帮助 减少了 5
  • 如何自定义 Google 测试失败消息?

    我编写了一个如下所示的 Google 测试 它将一些计算值与 CSV 文件中预期存储的值进行比较 class SampleTest public testing Test public void setupFile const std st
  • 您对“大规模 C++ 软件设计”的看法 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 正在阅读亚马逊评论 https rads stackoverflow com amzn click com 0201633620 and ACC
  • 更改 Xamarin.Forms 应用中顶部栏和底部栏(ControlsBar、StatusBar)的颜色

    无论如何 即使后面需要特定于平台的代码 也可以更改顶部栏 蓝色的 和底部栏 黑色的 的颜色吗 我希望添加对浅色和深色模式的支持 因此我希望能够在运行时更改它 有可能的 Android Using Window SetStatusBarCol
  • 在 C# 中使用命名空间别名有什么好处? [复制]

    这个问题在这里已经有答案了 使用命名空间别名有什么好处 仅仅是为了简化编码吗 仅当与类发生冲突时我才使用名称空间别名 对我来说 这根本没有简化 我的意见是 如果没有必要 就不要使用
  • 从 DataRow 单元格解析 int [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何从 DataRow 单元格解析 int 值 Int32 Parse item QuestionId ToString 这段代码可以工作 但看
  • Xcode 7 调试器不会中断内联标头函数

    过去五年我一直在各种 C 项目中使用 Xcode 没有出现这个问题 今天 我打开了一个较旧的项目 大约 2 年前 并尝试通过在该函数中放置一个活动断点来调试头文件中的内联函数 由于某种原因 调试器不会中断此代码 但是 如果我在调用该函数的
  • 使用多态对象数组进行 JSON 反序列化

    我在涉及多态对象数组的 JSON 反序列化方面遇到问题 我已经尝试过记录的序列化解决方案here https stackoverflow com questions 5186973 json serialization of array w
  • 卸载程序

    我正在尝试使用此代码卸载程序 但它似乎不起作用 我尝试过其他答案 但似乎也不起作用 有人可以帮助我吗 我正在尝试按给定名称 displayName 卸载该程序 例如 我给出 displayName Appname 那么此代码应该从我的计算机
  • 如何在c#中创建多线程

    我需要监听机器中的所有串行端口 假设我的机器有 4 个串行端口 我必须创建 4 个线程并开始分别使用附加线程监听每个端口 我使用此代码来获取我的机器中的端口数量 private SerialPort comPort new SerialPo
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma
  • 将一个 IEnumerable 拆分为多个 IEnumerable

    我是 linq 新手 我需要根据指示器将 Couple string text bool Indicator 类型的 IEnumerable 拆分为多个 IEnumerable 我尝试使用skipWhile 和 TakeWhile 但没有找

随机推荐

  • 通过 Drupal 执行查询时 Apache Solr 结果不同 – 为什么?

    我正在尝试创建一个自定义搜索界面阿帕奇 索尔 http lucene apache org solr using Drupal http drupal org 我对结果有一些奇怪的问题 当我从 Solr 的内置 Web 界面运行它时 相同的
  • Magento - 客户地址国家/地区下拉列表问题

    我正在使用 Magento CE 1 7 0 2 最近从 1 4 2 0 升级 在后端编辑 创建客户地址时 国家 地区下拉字段为空 无法选择任何选项 它也不适用于前端地址下拉列表 任何想法导致此问题 我能找到的唯一代码提示是 this de
  • C# 中套接字重用有什么好处

    我正在开发开源套接字服务器库 https sourceforge net projects socketservers https sourceforge net projects socketservers 我想向这个库添加套接字重用功能
  • Android 的新 Jack 编译器真的那么慢吗?

    在我的一些 Android 项目中 我发现自从使用新的 Jack 编译器以来 构建速度变得相当慢 我需要它来使用 lambda 等 Java 8 功能 但漫长的建设时间有点令人不安 所以我建立了一个新的Android项目 它只包含一个Mai
  • 在内存中强制渲染 WPF 控件

    我有以下代码 void Test currentImage Source GetBitmap RenderTargetBitmap rtb new RenderTargetBitmap 100 100 96 0 96 0 PixelForm
  • EMR 5.21、Spark 2.4 - Json4s 依赖关系已损坏

    Issue 在 EMR 5 21 中 Spark Hbase 集成已损坏 df write options format save 失败 原因是 Spark 2 4 中的 json4s jackson 版本 3 5 3 EMR 5 21它在
  • 使用 pytest 运行trace.py

    我正在尝试使用trace py跑步时pytest 我知道pytest有自己的覆盖率插件pytest cov但限制 每行执行的次数不可用 不允许我现在使用它 同样对于coverage py 我正在尝试这个命令 python3 4 m trac
  • 使用 WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH 获取所有 MotionEvent

    我的问题直接涉及到这个question https stackoverflow com q 4481226 394933 这个问题的答案表明了如何创建一个ViewGroup 将其嵌入到WindowManager 并允许WindowManag
  • Asp.net 自动完成扩展器不工作

    我想让文本框使用数据库自 动完成 我使用了以下代码 但在输出扩展器中显示了 html 代码 它甚至不执行函数后面的代码 我使用的以下代码无法正常工作 ASPx 页面
  • 如果项目存在于另一个数组中,则从数组中删除它们[重复]

    这个问题在这里已经有答案了 假设我有以下两个包含整数的 PHP 数组 foo array 1 5 9 14 23 31 45 bar array 14 31 36 我想删除其中的项目 foo其中存在相同的值 bar 所以这个过程的结果将创建
  • Wix引导程序

    我使用 WPF 编写了一个托管 wix 引导程序 实际的安装步骤需要链接多个 msi exe 和批处理文件
  • 最终方法是内联的吗?

    Java的final方法会自动内联吗 很多书说可以 很多书说不 方法的内联由 JIT 编译器执行 而不是 javac 现代 JIT 编译器 包括 Hotspot 通常甚至可以内联非最终方法 并在必要时适当地 撤消 优化 他们基本上非常聪明
  • python 中具有等式约束的 L1 凸优化

    我需要在 Mx y 的情况下最小化 L 1 x x 是维度为 b 的向量 y 是维度为 a 的向量 M 是维度为 a b 的矩阵 经过一番阅读后 我决定使用 scipy optimize minimize import numpy as n
  • 将 AWS Chime 集成到 Java 应用程序中

    我正在尝试构建一个 Java Spring 启动应用程序 用于使用 AWS Chime 创建 加入和聊天 我已经浏览了 chime 提供的演示代码 但由 node js 运行 任何人都可以帮助我如何使用 mvc 集成和使用 chime 的
  • 使图像完全填充div而不拉伸

    我有不同尺寸的大图像 需要在两个尺寸上完全填充 240 像素 x 300 像素的容器 这是我现在得到的 仅适用于一维 http jsfiddle net HsE6H http jsfiddle net HsE6H HTML div clas
  • SVG 异物大小不一致

    我正在尝试在 SVG 中创建 2 个 html 对象 并在 Vis js 图表中进一步使用它们 我的第一个 svg 按钮 按预期工作并且看起来不错 我的问题是 当我尝试插入表格 div 时 宽度 高度不是我设置的值 这是我得到的 正如您所看
  • 为输入范围生成红色和绿色之间的颜色[重复]

    这个问题在这里已经有答案了 可能的重复 基于数字的颜色编码 https stackoverflow com questions 5533297 color coding based on number 我希望用户能够从 1 100 的范围内
  • 如何在 Nest js 中使用 fastify-adapter 配置速率限制

    我刚刚开始实现 API 的 Nest js 并且正在使用 Fastify 适配器 我需要帮助在 Nest JS 中使用 FastifyAdapter 配置速率限制 async function bootstrap const app awa
  • 对 super 的调用必须是构造函数中的第一个语句,但它是

    我不断收到错误消息 调用 super 必须是构造函数中的第一个语句 问题是它is我的构造函数中的第一条语句 public void CheckingAccountCustomer int a super n p b accountNo a
  • 将简单的 MFC CView/CDocument/CSingleDocTemplate 应用程序转换为 ActiveX 控件

    我有一个相当简单的 MFC 应用程序 它只定义了自己的子类CDocument CView and CFrameWnd并通过使用它们CSingleDocTemplate在视图的树中显示文档的只读内容 都是非常标准的MFC MVC 我现在需要转