(1)
在主对话框类中添加:
protected:
HRGN m_hRgn;
(2)
OnInitDialog中添加:
// TODO: 在此添加额外的初始化代码
//得到窗体客户区范围
RECT rect={0};
GetClientRect(&rect);
//用窗体客户区矩形尺寸创建一个椭圆区域
m_hRgn=CreateEllipticRgn(rect.left,rect.top,rect.right,rect.bottom);
//将椭圆区域设置到窗体
SetWindowRgn(m_hRgn,TRUE);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
(3)
确定按钮改为“恢复”,事件响应:
void CEllipticalWinsowDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//取消椭圆效果
SetWindowRgn(NULL,TRUE);
}