在vc.net中添加了OnLButtonDblClk()函数,消息映射也有,为什么不能用?

vvvvvvv 2002-11-16 12:00:59
在vc.net中添加了OnLButtonDblClk()、OnRButtonDblClk函数,消息映射也有,为什么不能用?

同样的,OnLButtonDown、OnLButtonUp、OnMouseMove等都能用。

这是为什么?
...全文
183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crane 2002-12-23
  • 打赏
  • 举报
回复
在CTestView的pretranslatemessage方法中看看能不能截获到WM_LBUTTONDOWN这个消息
frankxht 2002-11-18
  • 打赏
  • 举报
回复
不知道楼主是怎样的问题,因为看不到源码,我只好猜测一下.
void CDghjDlg::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
MessageBox("here");
CDialog::OnLButtonDblClk(nFlags, point);
}
在对话框中测试是可以实现的.我猜测大概楼主是想发送消息吧?
如果是就用sendMessage(WM_LBUTTONDBCLK,0,0),定义自己的相应的消息
函数即可.
Wayneh 2002-11-18
  • 打赏
  • 举报
回复
我的可以啊。
vvvvvvv 2002-11-18
  • 打赏
  • 举报
回复
我是在CView中添加的:
void CTestView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call MessageBox("here");
CTestView::OnLButtonDblClk(nFlags, point);
}

这样编译以后却不会执行 MessageBox("here");
而OnLButtonDown、OnLButtonUp、OnMouseMove都会执行。

不知道为什么?
Wayneh 2002-11-17
  • 打赏
  • 举报
回复
这个问题,偶了解的不多,班门弄斧一下,知道多少写多少,别拿板砖砸我就成。
1。
对于button,checkbox,radiobutton等按钮控件,当指定它的风格为BS_NOTIFY时,其向父窗口发送的消息中(HIWORD(wParam)可以包含鼠标双击的信息,标识为BN_DOUBLECLICKED.
窗口过程捕获了WM_COMMAND时,可以通过判断wParam来响应它。

2。对于通常的窗口,在注册类结构时,在窗口风格中包含CS_DBLCLKS标识符时,窗口过程可以捕获到WM_LBUTTONDBLCLK消息。
如果没有指定CS_DBLCLKS风格,而你却在短时间内双击了鼠标,窗口过程接受到以下消息:
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDOWN
WM_LBUTTONUP

如果指定了CS_DBLCLKS,窗口过程接受以下消息:
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧