关于SelectObject( penYellow)

void CPaneSideBar::OnNcPaint()
{
  	CWindowDC windc(this);
  	CRect rtWin;
  	GetWindowRect(&rtWin);
  	ScreenToClient(&rtWin);
  
 。。。




	//draw line
	CPen penYellow(PS_SOLID, 1, RGB(229,174,55));
	CPen *pOldPen;
	pOldPen = (CPen *) windc.SelectObject( &penYellow);
	windc.MoveTo(0, 1);
	windc.LineTo(rtWin.Width(), 1);

。。。


	CString strLog;
	strLog.Format(_T("before windc.SelectObject(pOldPen)"));
	WriteLogFile(strLog);


	windc.SelectObject(pOldPen);


	strLog.Format(_T("mid windc.SelectObject(pOldPen)"));
	WriteLogFile(strLog);


	DeleteObject( penYellow);


	strLog.Format(_T("after	windc.SelectObject(pOldPen)"));
	WriteLogFile(strLog);


}

以前没注意到selectobject(pen)也可以通过编译, 但是在选入oldpen的时候直接报异常,最终已写日志的方式定位到断点出。


原来是selectobject(&pen)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值