如题

解决方案 »

  1.   

    1.按钮的父窗体设为桌面,就可以拖到外面
    HWND SetParent(
      HWND hWndChild,      // handle to window whose parent is changing
      HWND hWndNewParent   // handle to new parent window
    );
    2.
    ClientToScreen,ScreenToClient两个函数是客户坐标和屏幕坐标相互转换
      

  2.   

    void CBtnEx::OnLButtonDown(UINT nFlags, CPoint point) 
    {
        PostMessage(WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARAM (point.x , point. y ) ) ;}
      

  3.   

    HWND   hWndDesktop   =   ::GetDesktopWindow(); 
    m_BtnEx.SetParent(FromHandle(hWndDesktop));
      

  4.   

    HWND hWndDesktop = ::GetDesktopWindow(); 
        m_BtnEx.SetParent(FromHandle(hWndDesktop));
    这个我在OnInitDialog中加的
    怎么对话框上看不到按钮了呢
      

  5.   

    所以建议还是用非模态对话框
    方便或者把按钮SetWindowPos到TopMost