|
谢谢楼上的。我也不知道什么原因。我是这么操作的,因为要在一个Dialog里实现按钮的触划功能,由于Dialog没有WM_MOUSEMOVE消息,所以我根据网上的方法增加了一个类CColorButton,在其中添加
void CColorButton::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
nID=GetDlgCtrlID();
if(this->GetParent()!=NULL)
{
GetParent()->SendMessage(WM_KEYUP);
}
CButton::OnMouseMove(nFlags, point);
}
其中nID是定义的一个全局变量,得到Dialog中各CCorlor实例的ID。通过系统WS_KEYUP消息来通信。
CDialog中定义KEYUP事件
void C****Dlg::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
switch(nID) {
...............
}
CDialog::OnKeyUp(nChar, nRepCnt, nFlags);
}
这种方法可以实现按键响应鼠标滑动,为什么换成触摸笔就不行了呢。还请高手解答,谢谢!
|
|