MSDN上说32bitwindows下面控件会发出Notify消息,16bit是COMMAND消息
但是我在一个Dialog里重载了OnNotify函数,确收不到控件的任何Notify消息
用Spy++也看不到,用OnCommand函数就能响应,真是奇怪,我是在2000下面编程。另外还有关于OnCommand函数的lParam参数的解释,MSDN说是发出消息的Control的
窗口句柄HWND,那么如何由这个句柄得到这个控件的指针,或者对象呢?谢谢各位大侠,感激不尽。
但是我在一个Dialog里重载了OnNotify函数,确收不到控件的任何Notify消息
用Spy++也看不到,用OnCommand函数就能响应,真是奇怪,我是在2000下面编程。另外还有关于OnCommand函数的lParam参数的解释,MSDN说是发出消息的Control的
窗口句柄HWND,那么如何由这个句柄得到这个控件的指针,或者对象呢?谢谢各位大侠,感激不尽。
解决方案 »
- CToolBar按钮文字在下方时,怎么让图标不居中而是显示在顶部
- activeX 嵌在IE里面的时候,直接关闭IE,会出现内存不能为“read”的情况
- 请问一下在SDK中WM_CLOSE 和WM_DESTROY 有什么区别?
- 解析XML的时候出现runtime error,求解!
- XP登陆是调用的什么程序
- 在标准c++库基础上,怎么实现线程??
- 请问SDWORD是一种什么类型??
- 关于筛选日期型字段
- 跪求大虾解决毕业设计问题(中文分词)
- VS2008-MFC框架视图程序,在子窗口中修改菜单无效
- 我要在我的对话框上create 几个edit控件,create之后不显示出来怎么办
- 急!如何给ActiveX控件添加一个能输出数组的方法?
2.
int id=GetDlgCtrlID((HWND)lParam));
CWnd *pWnd=GetDlgItem(id);
2、CWnd* pWnd=CWnd::FromHandle(hwnd);
可以将句柄转化为指针
如下面的消息:
The NM_CLICK notification message notifies the parent window of a control that the user has clicked the left mouse button within the control. NM_CLICK is sent in the form of a WM_NOTIFY message. NM_CLICK
pnmh = (NMHDR FAR *) lParam;
还有:
The TVN_SELCHANGED notification message notifies a tree-view control’s parent window that the selection has changed from one item to another. This notification message is sent in the form of a WM_NOTIFY message. TVN_SELCHANGED
pnmtv = (NM_TREEVIEW FAR *) lParam
这些消息无法通过OnCommand获得,而OnCommand主要是用来接收一些老控件的消息的,如button、edit等等。
你收不到任何空间notify消息的原因,是你创建的控件时没指明具有NOTIFY 风格,你仔细检查一下程序,看看MSDN.
OnCommand消息,据我所知只有按下BUTTON和相应菜单项被选中时才发送的,仅此而已。to webber84(糕鱼昏)兄:
不知你说的老的控件具体指哪些控件,是否可以一一罗列。
仔细检查一下创建的控件时没指明具有NOTIFY 风格