VC6上的按钮,当设置成不可见时,点击鼠标就不起作用了。
当设置成可见,点击鼠标后一切正常。
如何让按钮不可见,在按钮位置点击鼠标时又起作用?

解决方案 »

  1.   

    得到你的Button的Rect,然后响应LButtonDown事件。如果在这个区域上,执行按钮的事件。
      

  2.   

    设置成透明的BOOL CGasState::OnEraseBkgnd(CDC* pDC)
    {
    return TRUE;
    }
    void CGasState::OnPaint(void)
    {
    }
      

  3.   

    CRect rc;
    ::GetWindowRect(GetDlgItem(IDC_BUTTON1)->m_hWnd,rc);
    ScreenToClient (rc);
    if (rc.PtInRect (point))
    {
                AfxMessageBox("This is Button1");
            }
      

  4.   

    处理处理鼠标点击事件,拿到按钮的rect,判断鼠标位置是否在rect内,如果在rect内,就调用点击按钮应该做的事情。
      

  5.   

    CRect rc;
    ::GetWindowRect(GetDlgItem(IDC_BUTTON1)->m_hWnd,rc);
    ScreenToClient (rc);
    if (rc.PtInRect (point))
    {
    AfxMessageBox("This is Button1");
    OnButton1();
        }
    以上代码在我的VC上执行成功!
      

  6.   

    可以考虑将button的区域进行覆盖。
      

  7.   

    没必要搞那么复杂很简单 按钮的属性Owner Draw 改成TRUE 就可以了
      

  8.   

    感谢zzz3265
    同时也感谢5楼