超难问题,怎样去掉对话框的蓝边,并保持窗口的形状,也就是说,标题栏的左右两个角还是圆角状态,而窗口的底边左右两个角还是直的.
并不是通过属性直接去掉边框

解决方案 »

  1.   

    在WM_NCCALCSIZE中重新设置非客户区试试
      

  2.   

    修改属性可以去掉Dialog的边,但是做到楼主要的效果只能自绘
      

  3.   

    画一个表示需要形状的图片,然后用CreateRectRgn,SetWindowRgn等函数将对话框设定成和图片一样,就可以了
      

  4.   

    自定义一个多边形,在init中初始化界面
      

  5.   

    这个问题不难,其实都是自己派生一个窗口类,想要什么样子都可以。
    园角窗口使用CreateRoundRectRgn 和 SetWindowRgn((HRGN)wndRgn,TRUE)
      

  6.   

    CRect rect;
    GetWindowRect(&rect);
    rect.DeflateRect(GetSystemMetrics(SM_CXBORDER), GetSystemMetrics(SM_CYBORDER));
    HRGN hRgn = CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);SetWindowRgn(hRgn, TRUE);
      

  7.   

    或在窗口风格中把WS_BORDER去掉
      

  8.   

    用CRgn:CreatePolygonRgn和SetWindowRgn可以擦除窗口边框