void CBitWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
m_nState = (m_lpBit->GetItemNums() > 2) ? kActiveBit : kNormalBit;
m_nState = m_bMute ? kNormalBit : m_nState;
m_bMute = m_bCanMute ? !m_bMute : m_bMute;
this->Invalidate(); if( m_bLDownNotify )
{
ASSERT( GetParent() != NULL );
GetParent()->SendMessage(WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(), BN_CLICKED), (LPARAM)m_hWnd);
}
if( m_bNotify )
{
ASSERT( GetParent() != NULL );
this->ClientToScreen(&point);
GetParent()->ScreenToClient(&point);
//GetParent()->SendMessage(WM_LBUTTONDOWN, nFlags, MAKELPARAM(point.x, point.y));
}
}
{
m_nState = (m_lpBit->GetItemNums() > 2) ? kActiveBit : kNormalBit;
m_nState = m_bMute ? kNormalBit : m_nState;
m_bMute = m_bCanMute ? !m_bMute : m_bMute;
this->Invalidate(); if( m_bLDownNotify )
{
ASSERT( GetParent() != NULL );
GetParent()->SendMessage(WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(), BN_CLICKED), (LPARAM)m_hWnd);
}
if( m_bNotify )
{
ASSERT( GetParent() != NULL );
this->ClientToScreen(&point);
GetParent()->ScreenToClient(&point);
//GetParent()->SendMessage(WM_LBUTTONDOWN, nFlags, MAKELPARAM(point.x, point.y));
}
}
解决方案 »
- OPENCV程序内存不断增加,求帮助!
- 有没方法来获取另一程序 编辑框里面的内容?
- CFileDialog问题
- hook不到键盘消息?
- 在内存dc textout之前要做什么?要设置颜色吗?
- 关于端口重定向后的路由问题的讨论
- Socket 接收数据时,先把消息存到消息队列里面,我能监控这个队列吗
- 急!急!请问在一个formview中如何显示一幅位图
- SDK的疑惑?
- VS2005在32位机器上编译64位程序,调用了32位的dll,出现链接错误
- MFC网络编程!在调用MySock::OnSend()后,发起AsyncSelect(FD_READ);无法执行到MySock::OnReceive(),如下
- 我回复的帖子內的兩個刷新按鈕,我按了後發現只是捲到最上, 根本沒有刷新
GetParent()->SendMessage(WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(), BN_CLICKED), (LPARAM)m_hWnd);
这句话是啥意思?你调试过,在哪句出的问题吗?
会不会又触发回OnLButtonDown了,造成死循环
BN_CLICKED是事件,不是消息。把SendMessage改成PostMessage.如果还不行,在PostMessage之前先给自己PostMessage(WM_LBUTTONUP);
=============
我觉得问题应该在这儿,但是不知道处理函数是如何写的,不好判断会不会死循环。
去掉这个函数,滑动条的滑动块无法跟着鼠标移动!知道为什么吗???
去掉这个函数,滑动条的滑动块无法跟着鼠标移动!知道为什么吗???
http://download.csdn.net/detail/mirro187_/5064257别让我失望!!! 谢谢
在onpaint里面的 this->DrawSlider(&dc, TRUE); 之后 bPaint ? m_Thumb.MoveWindow(rcThumb) : NULL;
移动滑块!
所以SendMessage不会响应, 只有 OnLButtonDown 返回后才会得到返回死锁发生