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

方案一:

	//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));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值