我不想让对话框在桌面上来回移动,怎样实现!!

解决方案 »

  1.   

    右键属性
    把Title Bar
    取消
      

  2.   

    在onpaint里movewindow
    也就是一旦对话框被移位就移回原来的位置。
      

  3.   

    有一个方法,但不是完美的,打开class向导。选择窗口类,然后选标签class info。
    有一个message filter,选windows.
    在消息的标签栏添加消息WM_NCHITTEST,然后把代码改成里边的代码改成return 0;
      

  4.   

    dreamchild(梦小孩)的方法好像最小化和关闭按钮都无效了,不过另做两个按钮算了
      

  5.   

    这样就行了UINT CTtDlg::OnNcHitTest(CPoint point) 
    {
    int i;
    i = CDialog::OnNcHitTest(point);
    if (  i == HTCAPTION )
    return 0;
    else
    return i;
    }
      

  6.   

    重载WM_MOVE消息函数,然后把实现函数中的CDialog::OnMove();一行去掉(或者是CWnd::OnMove();我记不清了,你自己看看就应该ok了)
      

  7.   

    同意yinx!!
    五颗星与我一颗星的果然不一样,呵呵:)
      

  8.   

    UINT r = CDialog::OnNcHitTest(point);
    if ( HTCAPTION == r ) r = 0 ;
    return  r;
      

  9.   

    刚好今天用到,凑凑热闹。
    UINT Cxxxx::OnNcHitTest (CPoint point)
    {
        UINT nHitTest = CWnd::OnNcHitTest (point);
        if ((nHitTest == HTCAPTION) && (::GetAsyncKeyState (MK_LBUTTON) < 0))
            nHitTest = 0;
        return nHitTest;
    }
    //::GetAsyncKeyState (MK_LBUTTON)鼠标左键点下,返回<0的负数。