当前位置: 代码迷 >> 综合 >> MFC 对话框圆角矩形的实现方法
  详细解决方案

MFC 对话框圆角矩形的实现方法

热度:49   发布时间:2024-01-20 13:29:46.0
网上流传的简单实现方法有两种:
方法一:
在OnInitDialog() 添加:


SetWindowLong(m_hWnd,GWL_HWNDPARENT,NULL);
CRgn m_rgn; 
RECT rc; 
GetWindowRect(&rc); 
m_rgn.CreateRoundRectRgn(rc.left,rc.top,rc.right,rc.bottom,100,100); 
SetWindowRgn(m_rgn,TRUE); 


测试只适用于主对话框




方法二:
 在对话框或者文档的框架类中添加WM_SIZE消息响应代码代码如下即可实现圆角矩形窗口
 CRgn rgn;
 CRect rc;
 GetWindowRect(&rc); //获得窗口矩形
 rc -= rc.TopLeft();
 rgn.CreateRoundRectRgn(rc.left, rc.top, rc.right, rc.bottom, 15, 15); //根据窗口矩形创建一个圆角矩形最后两个是形成圆角的大小
 SetWindowRgn(rgn, TRUE);


测试适用于子对话框窗口
  相关解决方案