(1、)当鼠标Button移动上时,怎样变成手型?子类化按钮类,重载WM_MOUSEMOVE消息,并在消息响应函数里改变鼠标形状

解决方案 »

  1.   

    (1、)当鼠标Button移动上时,怎样变成手型? 子类化按钮类,重载WM_SETCURSOR消息,并在消息响应函数里改变鼠标形状(2、)怎么样将界面美化,使别人看不到按钮,只能用手型按钮去操作
    不明白什么意思
      

  2.   

    首先在CMyButton中设置一个HCURSOR     hCurs_HAND;变量,保存光标变量   
        
      然后在头文件中加上   
      #define   IDC_HAND                         MAKEINTRESOURCE(32649)   这一句   
        
      在实现文件中   
      CMyBitmapButton::CMyBitmapButton()   
      {   
      hCurs_HAND     =LoadCursor   (NULL,IDC_HAND       );   /////////加载光标资源   
        
      }   
        
        
      void   CMyBitmapButton::OnMouseMove(UINT   nFlags,   CPoint   point)   
      {   
      //   TODO:   在此添加消息处理程序代码和/或调用默认值   
        
      SendMessage   (WM_SETCURSOR   ,0,0);                   /////////发送变换光标消息   
        
      CBitmapButton::OnMouseMove(nFlags,   point);   
      }   
        
      BOOL   CMyBitmapButton::OnSetCursor(CWnd*   pWnd,   UINT   nHitTest,   UINT   message)   
      {   
      //   TODO:   在此添加消息处理程序代码和/或调用默认值   
      ::SetCursor   (hCurs_HAND   );                       ////////////////设置光标   
        
      return   TRUE;   
        
      // return   CBitmapButton::OnSetCursor(pWnd,   nHitTest,   message);   
      }
    第二个问题:你把按钮的外观改为平的,颜色与父窗口的颜色一致,这样就看不出按钮的存在,只剩下手形了。
      

  3.   

    用这里的CButtonST类吧,反正是通过Custom Draw画出来的.http://www.vckbase.com/document/listdoc.asp?mclsid=3&sclsid=301&page=2
      

  4.   

    三楼
    你麻烦你说的在细一些,
    先在CMyButton中设置一个HCURSOR     hCurs_HAND;变量,保存光标变量   
    能否给个具体步骤?
      

  5.   

    ::SetCursor   (自己设置相关鼠标的宏定义值); 
      

  6.   

    查MSDN 直接重载一个参数。