HBRUSH CTestDialog::OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor) { //里面画笔怎么释放 }

if(nCtlColor==CTLCOLOR_STATIC){staticHBRUSHhbrEdit=::CreateSolidBrush(RGB(89,89,89));... if(nCtlColor == CTLCOLOR_STATIC)
{
static HBRUSH hbrEdit = ::CreateSolidBrush(RGB(89,89,89));
pDC->SetBkColor(RGB(89,89,89));
pDC->SetBkMode(TRANSPARENT);
return hbrEdit;
}
展开
 我来答
3122宿舍长
2012-06-11 · TA获得超过702个赞
知道小有建树答主
回答量:934
采纳率:0%
帮助的人:458万
展开全部
在OnCtlColor中 你建的画刷是全局的,而且要返回的,所以不能释放,你每进一次这个函数都会新建一个画刷,所以建议用一个全局变量。不要用static声明,在全局区域直接声明,或者直接删掉static就好,函数自动释放
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式