怎么样响应自建类中的消息?
我自己建了一个类,比如:LBUTTONDOWN,但是,只在对话框类好用,怎么在我自己建的类中不能响应呢? 问题点数:10、回复次数:8Top
1 楼flyelf(空谷清音)回复于 2004-08-01 10:47:54 得分 1
对于这些消息,只有基于CWnd的类才能响应Top
2 楼gexu(新人)回复于 2004-08-01 10:59:43 得分 1
你可以在对话框中响应这个消息然后调用你的类里的方法啊!Top
3 楼lostgdi731(O_O)回复于 2004-08-01 11:40:43 得分 1
非继承CWnd类不可。Top
4 楼memory_xj(青蛙)回复于 2004-08-01 12:24:25 得分 1
同意flyelf,你的这个LBUTTONDOWN应该属于窗口消息,只有继承于CWnd的类才能得到命令传递。Top
5 楼mintwlf(Programmer)回复于 2004-08-01 12:30:58 得分 3
你要从CCmdTarget继承类才可能响应消息,对于LBUTTONDOWN的消息,你要保证在到达你的类之前没有被其他类处理结束,这样才会被你的类处理。通常在CWnd里面有处理这样消息的默认函数,所以如果你的类不是从CWnd派生,消息便无法到达你的类,哈哈!
简易楼主阅读<<深入浅出MFC>>!!!Top
6 楼v3206(renweivv)回复于 2004-08-04 19:02:27 得分 0
怎么继承啊?我的是从CTREECTRL中继承的呀!Top
7 楼v3206(renweivv)回复于 2004-08-05 18:47:50 得分 0
谁能告诉我啊,我可以给加分!Top
8 楼bluestone(kulawa)回复于 2004-08-05 20:27:20 得分 3
CTreeCtrl应该可以的。
覆盖这个函数 WindowProc
LRESULT XXX::WindowProc(...)
{
switch(message)
{
case LBUTTONDOWN:
//your process
return 0;
.............................
}
return CTreeCtrl::WindowProc(message, wParam, lParam);
}Top




