COM中CWnd或其它窗口类型不能使用消息
在一个COM组件中,有一个CWnd窗口,在里面定义了自定义消息,但是在COM中无论是PostMessage还是SendMessage,该窗口都收不到这个消息。在外面使用这个CWnd类都是好用的,一放到COM中就收不到消息了。
另外调用COM组件的是控制台程序,CWnd用如下方法创建:
另外我还试过ATL的Window模板类,也不能使用消息。
WNDCLASSEX wndclass;
wndclass.cbSize=sizeof wndclass;
wndclass.style=0;
wndclass.lpfnWndProc=WindowProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=GetModuleHandle(0);
wndclass.hIcon=0;
wndclass.hCursor=0;
wndclass.hbrBackground=0;
wndclass.lpszMenuName=0;
wndclass.lpszClassName=_T("Helper Window");
wndclass.hIconSm=0;
RegisterClassEx(&wndclass);
m_hWnd=CreateWindow(_T("Helper Window"), _T("Helper Window"), 0, 0, 0, 0, 0, 0, 0, 0, GetModuleHandle(0));
另外调用COM组件的是控制台程序,CWnd用如下方法创建:
另外我还试过ATL的Window模板类,也不能使用消息。
WNDCLASSEX wndclass;
wndclass.cbSize=sizeof wndclass;
wndclass.style=0;
wndclass.lpfnWndProc=WindowProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=GetModuleHandle(0);
wndclass.hIcon=0;
wndclass.hCursor=0;
wndclass.hbrBackground=0;
wndclass.lpszMenuName=0;
wndclass.lpszClassName=_T("Helper Window");
wndclass.hIconSm=0;
RegisterClassEx(&wndclass);
m_hWnd=CreateWindow(_T("Helper Window"), _T("Helper Window"), 0, 0, 0, 0, 0, 0, 0, 0, GetModuleHandle(0));
...全文
相关推荐
MFC初始化过程仿真.rar_CWnd_MFC
**事件处理**:MFC使用消息映射机制来处理窗口消息。当消息到达时,相应CWnd对象的成员函数会被调用,处理特定的事件。7.
吕鑫:《VC++就业培训宝典之MFC视频教程》第十一章 第一节 调用CWnd::Create和CWnd::CreateEx函数手动创建控件
1、调用CWnd::Create函数手动创建编辑框、下拉控件以及按钮等控件;2、调用CWnd::CreateEx函数手动创建下陷风格的编辑框和列表控件等;3、调用CWnd::Create函数手动创建日
VC6使用COM库的三种方法
#### 二、使用类向导导入类型库第二种方法是使用VC6的类向导工具导入COM组件的类型库。这种方式更加便捷,能够自动生成包装类,便于开发者访问COM组件的方法和属性。1.
MFC基础概述,消息机制
消息映射机制是一种富有效率、便于使用的手段,解决了消息处理函数的动态约束问题。程序员可以通过继承基类和实现虚拟函数来实现消息处理函数,并将其嵌入MFC的编程框架中。
VC中如何调试和使用ActiveX控件
### 如何在VC中调试和使用ActiveX控件#### 一、ActiveX控件简介ActiveX控件是一种基于Microsoft COM技术的组件,广泛应用于Windows平台上的软件开发。


