hur.cn - 华软网

 热门搜索

SetCapture 和 releaseCapture的使用

  作者:未知    来源:网络    更新时间:2011/1/13
从CButton派生出CMyButton,按钮有2种状态,下压和弹起。
原问题:按住按钮不放并拖出按钮的范围,按钮的弹起消息接受不到。
现在捕捉鼠标消息。代码以下:
C++">
void CMyBytton::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此增加消息措置惩罚程序代码和/或调用默许值
::SetCapture(this->GetSafeHwnd());
CButton::OnLButtonDown(nFlags, point);
}
void CMyBytton::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此增加消息措置惩罚程序代码和/或调用默许值
//::ReleaseCapture();

CButton::OnLButtonUp(nFlags, point);
}
对话框里按钮点击代码
void CtestDlg::OnBnClickedButton2()
{
// TODO: 在此增加控件通知措置惩罚程序代码
MessageBox(_T("test"));
}

尝试后结果。按住按钮拖出范围OnBnClickedButton2不响应。有ReleaseCapture即使不拖出去也不响应。请指教
---华软 网友回答---
没明白 汗
---华软网友回复---
dlg 但中的OnBnClickedButton2 东西你增加消息映照了吗
---华软网友回复---
楼主想要什么效果?
---华软网友回复---
引用 3 楼 heksn 的回复:
楼主想要什么效果?
 
我想在按下按钮时捕捉鼠标,在按下按钮不放拖出按钮范围,然后松开能响应到弹起事件
---华软网友回复---
可能我没说清楚 ,从CButton派生出CMyButton,响应了WM_LBUTTONDOWN和WM_LBUTTONUP消息,在对话框中有个CMyButton的按钮,响应BN_CLICKED.现在的问题是按住按钮不放并拖出按钮的范围,按钮的WM_LBUTTONUP消息接受不到。
捕捉鼠标应该能够解决这个问题,可是我试了几次都不对,拖出按钮范围依然收不到WM_LBUTTONUP,如果在
WM_LBUTTONUP中releasecapture的话也收不到,而且BN_CLICKED都无发响应


---华软网友回复---
按钮消息响应应该是内部体制
不但单与鼠标有关
你这个需求能够自定义一个控件
通过向父窗口发自定义消息实现
---华软网友回复---
  class="deleted_message"> 该回复于2011-01-14 10:34:38被版主删除        
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。