VC创建圆角窗体2

来源:互联网 发布:java replace 点号 编辑:程序博客网 时间:2024/05/22 12:06

为了实现圆角的对话框窗口,这里主要用两个函数,

CreateRoundRectRgn,和SetWindowRgn

程序先通过GetWindowRgn函数得到窗口矩形,然后通过CreateRoundRectRgn函数创建一个圆角矩形,最后通过SetWindowRgn函数改变窗口的形状。


具体操作如下:

打开“class view”,右击“CMyDlg”,出现一个菜单,选择“AddWindow Message Handler..”

之后在“New Windows Messages\events”中双击“OnSize”,“OK”

编辑函数如下:

void CMyDlg::OnSize(UINT nType, int cx, int cy){CDialog::OnSize(nType, cx, cy);// TODO: Add your message handler code hereCRgn m_rgn;CRect rc;GetWindowRect(&rc);rc-=rc.TopLeft();m_rgn.CreateRoundRectRgn(rc.left,rc.top,rc.right,rc.bottom,100,100);SetWindowRgn(m_rgn,TRUE);}

其他窗口的操作基本上相同,都按照这个操作

运行结果如下:

vc <wbr> <wbr>对话框 <wbr>圆角窗口
0 0