QQ登录

只需一步,快速开始

上位机MFC如何改变窗口的形状

[ 复制链接 ]
程序默认窗口形状都是矩形样式。但也可以改变为其他样子,
比如说圆形,不规则等。
可以将下面的4个按钮点击函数放在自己工程中,
运行点击。可以看到4个按钮实现不同形状窗口的设置
矩形,椭圆形窗口,多边形窗口,圆矩形窗口等。
void CDemoDlg::OnTest1()
{
        CRect rect;
        GetClientRect(rect);

        //创建矩形区域
        CRgn rgn;
        rgn.CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);

        //设置窗口的区域
        SetWindowRgn((HRGN)rgn, TRUE);
}

void CDemoDlg::OnTest2()
{
        CRect rect;
        GetClientRect(rect);

        //创建椭圆形区域
        CRgn rgn;
        rgn.CreateEllipticRgn(0, 0, rect.Width(), rect.Height());

        //设置窗口的区域
        SetWindowRgn((HRGN)rgn, TRUE);       
}

void CDemoDlg::OnTest3()
{
        CRect rect;
        GetClientRect(rect);

        CPoint point[6];
        point[0].x = 0;
        point[0].y = rect.Height() / 2;
        point[1].x = rect.Width() / 3;
        point[1].y = 0;
        point[2].x = 2 * rect.Width() / 3;
        point[2].y = 0;
        point[3].x = rect.Width();
        point[3].y = rect.Height() / 2;
        point[4].x = 2 * rect.Width() / 3;
        point[4].y = rect.Height();
        point[5].x = rect.Width() / 3;
        point[5].y = rect.Height();

        //创建多边形区域
        CRgn rgn;
        rgn.CreatePolygonRgn(point, 6, ALTERNATE);

        //设置窗口的区域
        SetWindowRgn((HRGN)rgn, TRUE);       
}

void CDemoDlg::OnTest4()
{
        CRect rect;
        GetClientRect(rect);

        //创建圆矩形区域
        CRgn rgn;
        rgn.CreateRoundRectRgn(0, 0, rect.Width(), rect.Height(),
                rect.Width() / 2, rect.Height() / 2);

        //设置窗口的区域
        SetWindowRgn((HRGN)rgn, TRUE);       
}

  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索