确定对话框框架边框的大小及重绘

这段代码展示了如何在CMainFrame类中重绘标题栏和窗口边框,利用GetSystemMetrics获取系统边框尺寸,并使用CDC对象进行矩形填充,实现自定义窗口框架的效果。
摘要由CSDN通过智能技术生成


void CMainFrame::DrawTitleBar(CDC *pDC)
{
	// TODO: 在此处添加消息处理程序代码
	// 不为绘图消息调用 CFrameWnd::OnNcPaint()
	pDC->SelectStockObject(NULL_BRUSH);   
	pDC->SelectStockObject(NULL_PEN);

	CRect rtWnd, rtTitle, rtButtons;
	GetWindowRect(&rtWnd);

	//取得标题栏的位置
	//SM_CXFRAME 窗口边框的边缘宽度
	//SM_CYFRAME 窗口边框的边缘高度
	//SM_CXSIZE  窗口标题栏宽度
	//SM_CYSIZE  窗口标题栏高度
	rtTitle.left = GetSystemMetrics(SM_CXFRAME); 
	rtTitle.top = GetSystemMetrics(SM_CYFRAME);  
	rtTitle.right = rtWnd.right - rtWnd.left - GetSystemMetrics(SM_CXFRAME);
	rtTitle.bottom = rtTitle.top + GetSystemMetrics(SM_CYSIZE);

	CPoint point;
	//填充顶部框架
	point.x = rtWnd.Width();						
	point.y = GetSystemMetrics(SM_CYSIZE) + GetSystemMetrics(SM_CYFRAME) + 0;
	pDC->Rectangle(0, 0, point.x, point.y);
	//填充左侧框架
	point.x = GetSystemMetrics(S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值