
MFC COM/ATL
文章平均质量分 71
COM/ATL
flos chen
好好学习,天天向上~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【MFC/C++ MFC中的消息映射机制】
MFC框架中按钮点击响应通过消息映射机制实现。核心流程包括:1)在头文件声明DECLARE_MESSAGE_MAP宏和消息处理函数;2)在源文件使用BEGIN_MESSAGE_MAP/END_MESSAGE_MAP宏定义映射表,通过ON_BN_CLICKED宏绑定按钮ID与处理函数;3)实现具体的按钮点击处理逻辑。当按钮被点击时,Windows生成WM_COMMAND消息,MFC消息泵路由到父窗口,匹配消息映射表后调用对应处理函数。该机制通过宏实现高效消息分发,避免了虚函数开销,是MFC事件处理的核心设计。原创 2025-07-12 08:15:00 · 459 阅读 · 0 评论 -
【MFC 突然被问到,怎么实现一个星星按钮】原来问的是继承xs
本文介绍了在MFC中实现星星形状按钮的三种方法。第一种是使用自绘按钮(Owner Draw),通过继承CButton类并重写DrawItem方法,用多边形绘制星星形状。第二种是采用CBitmapButton,加载不同状态的位图实现动态效果。第三种基于GDI+技术,能绘制更平滑的图形。三种方式各具特点:自绘按钮简单直接但需计算坐标;位图按钮视觉效果更丰富但需准备多张图片;GDI+能呈现高质量图形但依赖额外库。开发者可根据实际需求选择合适方案,推荐简单场景用自绘,需要状态变化用位图,追求图形质量用GDI+。原创 2025-06-14 09:00:00 · 483 阅读 · 0 评论 -
【COM/ATL ATL中的智能指针类CComPtr/CComQIPtr和普遍常见的智能指针shared_ptr之间的异同】
总的来说,虽然CComPtr、CComQIPtr和std::shared_ptr都使用引用计数来管理资源的生命周期,但它们在用途、实现和语义上有所不同。选择使用哪个智能指针取决于你的具体需求和所管理的资源类型。原创 2024-07-26 20:00:00 · 392 阅读 · 0 评论 -
【COM/ATL COM组件中的尝试用的智能指针 ATL库中的CComPtr和CComQIPtr】
CComQIPtr 模板类接受两个参数:一个是目标 COM 接口的类型,另一个是源 COM 接口的类型(即你已经有其指针的接口)。当你通过 CComQIPtr 访问一个接口时,它首先会尝试从源接口指针中查询目标接口。查询接口是 COM 中的一个重要概念,它允许一个 COM 对象暴露多个接口,而客户端可以通过查询接口来获取这些接口的指针。CComPtr 是一个模板类,它封装了一个指向 COM 接口的指针,并提供了自动引用计数(Reference Counting)和接口指针释放的功能。原创 2024-07-26 20:00:00 · 601 阅读 · 0 评论 -
【COM/ATL 运用ATL工程创建和调用COM组件】
ATL (Active Template Library) 是一个用于简化 COM (Component Object Model) 组件开发的库。使用 ATL,你可以创建 COM 对象,这些对象可以跨进程和跨机器进行通信。下面是一个简单的步骤,说明如何使用 ATL 创建一个简单的 COM 组件,并在另一个程序中使用它。然后在你的 ATL 类中实现这个方法:步骤 3: 注册 COM 组件编译你的 ATL 项目后,你需要注册你的 COM 组件。这通常可以通过运行生成的 DLL 或 EXE 文件的 /R原创 2024-06-15 19:13:01 · 1048 阅读 · 0 评论