有一risizing dialog,想把左右的边框去掉。用一static覆盖,还是有边框。不知道如何写程序能完成这样的功能。

解决方案 »

  1.   

    void testdlg::OnNcPaint()
    {
        static int i = 2;
    CRect r,r0;
        if (i > 0)
        {
            i --;
           
        SetWindowLong(this->m_hWnd,//  HWND hWnd,       // handle of window
                      GWL_STYLE,//int nIndex,      // offset of value to set
                           //LONG dwNewLong   // new value
                       0);
        ShowWindow(SW_MAXIMIZE);   }
        else
          CDialog::OnNcPaint();}
    我这么做的,没有问题
      

  2.   

    按“seahust”的做法就可以做到,我用过的。
      

  3.   

    UINT CYourDlg::OnNcHitTest(CPoint point) 
    {
    UINT  ret=CDialog::OnNcHitTest(point);
    if(ret==HTLEFT||ret==HTRIGHT ||ret==HTTOPLEFT||ret==HTTOPRIGHT ||ret==HTBOTTOMLEFT ||ret==HTBOTTOMRIGHT )ret=HTNOWHERE;
    return ret;
    }