• 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 > Atl做的ActiveX控件怎么响应Windows消息?答出来了加分至100一起给。

Atl做的ActiveX控件怎么响应Windows消息?答出来了加分至100一起给。

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

佚名通过本文主要向大家介绍了 Atl做的ActiveX控件怎么响应Windows消息?答出来了加分至100一起给。等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Atl做的ActiveX控件怎么响应Windows消息?答出来了加分至100一起给。
描述:

没答出的,这分就给up的了。。。


解决方案1:

1,控件都从CComControl派生,从下面可以看到CComControl出CComControl的基类是CWindowImpl.
template < class T, class WinBase = CWindowImpl < T > >
class ATL_NO_VTABLE CComControl : public CComControlBase,
public WinBase;
2,看看CWindowImpl:
template< class T,
class TBase = CWindow,
class TWinTrait = CControlWinTraits >
class ATL_NO_VTABLE CWindowImpl :
public CWindowImplBaseT< TBase, TWinTraits > 
3,class CMyWindow : ...
{
public:
   ...
   BEGIN_MSG_MAP(CMyWindow)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
      CHAIN_MSG_MAP(CComControl)
   END_MSG_MAP()
   LRESULT OnPaint(UINT uMsg, WPARAM wParam,
                   LPARAM lParam, BOOL& bHandled)
   { ... }
   LRESULT OnSetFocus(UINT uMsg, WPARAM wParam,
                      LPARAM lParam, BOOL& bHandled)
   { ... }
};
When a CMyWindow object receives a WM_PAINT message, the message is directed to CMyWindow::OnPaint for the actual processing. If OnPaint indicates the message requires further processing, the message will then be directed to the default message map in CComControl .

解决方案2:

Yeah,just the Same with SDK except some Macro packing!
BEGIN_MSG_MAP(CJProgressBarImpl)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
CHAIN_MSG_MAP( COffscreenDraw< T > )
END_MSG_MAP()
   LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
      _Init();
  return 0;
}
Please see Michael Dunn's WTL programming introduction series!

解决方案3:

BEGIN_MSG_MAP(CSimpleGrid)
CHAIN_MSG_MAP(CComControl<CSimpleGrid>)
DEFAULT_REFLECTION_HANDLER()
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd)
MESSAGE_HANDLER(WM_SIZE, OnSize)
MESSAGE_HANDLER(WM_SETCURSOR, OnSetCursor)
END_MSG_MAP()
// Handler prototypes:
//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
//


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

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

相关文章

  • 2017-06-04 在com中使用对话框的问题。
  • 2017-06-04 TWAIN协议中关于条码识别问题
  • 2017-06-04 想学习制作控件,可是又没有资料。哪位大大能帮下!
  • 2017-06-04 怎样在win2003上配置RDS远程数据服务
  • 2017-06-05 GetQueuedCompletionStatus
  • 2017-06-04 com组件里函数调用的问题
  • 2017-06-04 fullcontrol怎么保存大量数据
  • 2017-06-04 在ATL控件里执行htm文件中JavaScript函数的问题!
  • 2017-06-05 [求助]想学习利用MFC进行串口编程,需要学习什么作为基础呢?
  • 2017-06-05 软件投标书,100分赠送!!

文章分类

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

最近更新的内容

    • 请教:工作线程和主线程通讯问题
    • win2k中,已知一个进程的id或handle,如何获得它的父进程的id或handle?
    • 求教!关于WH_GETMESSAGE钩子截获并修改消息!
    • ActiveX控件在编译后会自动注册,如何禁止这个功能?VS2005
    • 我该如何从效率和安全性上设置线程同步?
    • 谁能提供详细safearray多维数组用法
    • 很奇怪:关于线程结束
    • 菜鸟问题,asp调用vc组件的问题~~(急~~~~~~~~~~~)
    • 控件注册的问题,在线等待,up有分呀
    • Wininetapi回调函数进入死循环

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

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