【框架-MFC】CDialog(CDialogEx) 自绘边框 点击任务栏软件图标可进行缩小与还原的解决方案

来源:互联网 发布:深蓝儿童 知乎 编辑:程序博客网 时间:2024/05/17 23:15

方案一:

//1、在【资源视图】里面修改窗口属性 ”Border - None”//2、在“OnInitDialog()” 虚函数里面添加:ModifyStyle(0, WS_SYSMENU | WS_MINIMIZEBOX);

方案二:

//1、在【资源视图】里面修改窗口属性 “Border - Dialog Frame”、”Minimize Box - True”//2、在 ON_WM_SIZE() 消息处理函数里面添加 自定义函数 ReDrawClientRoundCorner//例子:void CMainFrm::OnSize(UINT nType, int cx, int cy){CDialogEx::OnSize(nType, cx, cy);ReDrawClientRoundCorner(this,7);}//--------------------------------------------------------------------------// 只绘制窗口客户区的圆形边角//pWnd:修正显示窗口的指针//radius: 圆形边角的半径//--------------------------------------------------------------------------#define ReDrawClientRoundCorner(pWnd,radius) \CRect tmxxx;\pWnd->GetClientRect(&tmxxx);pWnd->ClientToScreen(tmxxx);\HRGN hRgnxxx = CreateRoundRectRgn(tmxxx.left,tmxxx.top,tmxxx.right,tmxxx.bottom,radius,radius);\pWnd->SetWindowRgn(hRgnxxx,TRUE);\::DeleteObject((HGDIOBJ)(HRGN)(hRgnxxx));


1 0
原创粉丝点击