API SelectObject

本文探讨了CMyDC类中SelectObject方法的问题,在特定条件下该方法无法正常执行,::GetLastError()返回错误代码87。文章详细描述了问题出现的场景及尝试的解决办法。

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

有如下问题寻求大虾们解决:

CMyDC:public CDC

{

void SelectObject( CBrush* pBrushNew, CBrush *pBrushOld )

{

if( pBrushOld )

{

pBrushOld->Attach( ::GetCurrentObject( m_hDC,OBJ_BRUSH));
}

::SelectObject( hDC, pBrush->GetSafeHandel());

return pBrushOld;

/*

这段代码在外界pDC->SelectObject( &oldBrush, NULL );时,不能正确执行,::GetLastError() 返回值为87;

通过::GetObject(  ::GetCurrentObject( m_hDC,OBJ_BRUSH), sizeof(LOGBRUSH) ,&logbrush);

发现选入失败.

不知到什么原因. 求帮助!

*/

}

}

void CMyUI::Draw( CDC* pDC )

{

pDC = ( CMyDC*)pDC;

CMYBrush oldBrush;

pDC->SelectObject(  &CResource::m_StaticBrush, &oldBrush ) ;

CRect  rc( 10, 10, 10,10 );

pDC->Rectangle( rc );

pDC->SelectObject( &oldBrush, NULL );

 

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值