weixin_51945342
2022-01-14 16:37
采纳率: 0%
浏览 9

为什么SetBkColor在Debug下生效,Release下没有生效

1.消息响应
BEGIN_MESSAGE_MAP(CMyDlg, CDialogEx)
ON_WM_CTLCOLOR()
END_MESSAGE_MAP()

2.在OnInitDialog中设置画刷子
m_brushGreen.CreateSolidBrush(RGB(0,255,0));//画刷为绿色
3.重载OnCtlColor
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO:  Change any attributes of the DC here
if (pWnd->GetDlgCtrlID() == IDC_STATIC){ //为静态文本框控件
        //pDC->SetBkMode(TRANSPARENT);
        pDC->SetBkColor(RGB(0255,0));//背景色为绿色
        return m_brushGreen;
}
// TODO:  Return a different brush if the default is not desired
return hbr;

}
编译后Debug模式下生效,Release模式下不生效,什么原因?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题