这是一个鼠标左右键控制的问题
我想在鼠标左键按下的时候不断的发送信息,而当左键抬起时就不发
我在里边添加了一个循环,我想在该循环开始的时候判断鼠标左键的状态是UP还是DOWN应该添加什么样的代码?
或使用什么样的方式和方法
void zzbutton::OnLButtonDown(UINT nFlags, CPoint point)
{
// bool i;
int s;
i=true;
s=0;
// TODO: Add your message handler code here and/or call default
switch(this->GetDlgCtrlID())
{
case IDC_BUTTON1:
{
while (i)
{
l++
}
}
}
CButton::OnLButtonDown(nFlags, point);
}void zzbutton::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CButton::OnLButtonUp(nFlags, point);
i= false;
}
我想在鼠标左键按下的时候不断的发送信息,而当左键抬起时就不发
我在里边添加了一个循环,我想在该循环开始的时候判断鼠标左键的状态是UP还是DOWN应该添加什么样的代码?
或使用什么样的方式和方法
void zzbutton::OnLButtonDown(UINT nFlags, CPoint point)
{
// bool i;
int s;
i=true;
s=0;
// TODO: Add your message handler code here and/or call default
switch(this->GetDlgCtrlID())
{
case IDC_BUTTON1:
{
while (i)
{
l++
}
}
}
CButton::OnLButtonDown(nFlags, point);
}void zzbutton::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CButton::OnLButtonUp(nFlags, point);
i= false;
}
MouseUp的时候要ReleaseCapture();
但如果设一定时器
在ontimer函数中调用你要的发送消息事件if(i==true)SendMessage( HWND hWnd, // Handle of destination window UINT Msg, // Message to send WPARAM wParam, // First message parameter LPARAM lParam); 就行了, 这样即可达到目的解释为多次按键
每当鼠标左键按下的时候,启动时钟;左键松开的时候,终止时钟。
#define TIMER_ID = 10001; // 时钟ID
#define TIMER_INTERVAL = 500;// 时钟间隔CXXXX::OnLButtonDown(...)
{
SetTimer(TIMER_ID, TIMER_INTERVAL, 0);
}CXXXX:OnLButtonUp(...)
{
KillTimer(TIMER_ID);
}CXXXX::OnTimer(UINT nIDEvent)
{
switch (nIDEvent)
{
case TIMER_ID:
// do what you want
break;
}
}
BOOL m_bTerminate;m_bTerminat = FALSE;
m_bIsButtonDown = FALSE;CreateThread(YourThread,....);DWORD WINAPI YourThread(LPVOID lParam)
{
while(!m_bTerminate)
{
if(m_bIsButtonDown)
{
....
}
}
}void CYourView::OnLButtonDown(...)
{
SetCapture();
m_bIsButtonDown = TRUE;
}void CYourView::OnLButtonUP(...)
{
ReleaseCapture();
m_bIsButtonDown = FALSE;
}
因为我的连点器要求按住左键或右键3秒后,开始连点左键或右键连点,
双击则关闭左键或右键连点。我是做了个鼠标的HOOK,这样才能任何情况下都截的到鼠标的按下和松开的消息,然后就放个timer检查鼠标的状态就OK了。
[email protected]