win98 vc6.0. 初学者。请大家帮个忙。
问题一:
我现在要实现一个功能:打开程序后,鼠标指针是不动的(晃动鼠标时),只有按住左键晃动鼠标时指针才移动。
有朋友建议我用下面的方法:
相应的窗口类中设一BOOL类型成员变量
    m_bMouseCanMove初始化为FALSE
WM_LBUTTONDOWN事件处理函数中
    m_bMouseCanMove = TRUE;
WM_LBUTTONUP事件处理函数中
    m_bMouseCanMove = FALSE;
WM_MOUSEMOVE事件处理函数中
    if (!m_bMouseCanMove)
        return;
可是好像不行,我不太清楚"return"到底做了那些工作?请各位指点一下。
我试着用SetCursorPos来设置指针的位置,可指针总是在闪。
先谢谢各位了。问题二:
我建立了一个单文档工程,在客户区显示一张小图片,现在想用鼠标拖动它。请问应该怎么做?思路?哪个类?要是有代码就更谢谢了。

解决方案 »

  1.   

    在WM_LBUTTONDOWN中加入下面代码。
    MSG msg;
    while(GetMessage( msg,hWnd, 0, 0))
    {
       if(msg.== WM_LBUTTONUP)
         break;   if(!(msg.message == WM_MOUSEMOVE))
      {
        TranslateMesssage(&msg);
        DispatchMessage(&msg);
      }
    }
    二、
       首先保存图片所在的矩形。在WM_LBUTTONDOWN时判断鼠标是否在该矩形中。如果是则移动图片,在WM_LBUTTONUP中,更新矩形的位置。
      

  2.   

    to :yndfcd(YNDFCD) 
    这个方法,还是不行啊。好像在vc表层想改变这个消息有点困难了。
    还是谢谢你的回复