怎么改变对话框上控件的背景颜色?

goo_foo 2003-04-12 11:45:50
如想把IDC_STATIC的颜色改成深绿色RGB(0,128,0)我似过pDC->setBkColor(RGB(0,128,0));但是只改变了字符串的背景颜色,请教大侠,如何弄它?
...全文
83 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavidBone 2003-04-17
  • 打赏
  • 举报
回复
up
skyxie 2003-04-12
  • 打赏
  • 举报
回复
GetDlgItem(ID...)->SetBkColor();
bulesnow 2003-04-12
  • 打赏
  • 举报
回复
应该用感情+分来感谢,赶快给wangbab发分呀:),因为他的方法确实不错呀
goo_foo 2003-04-12
  • 打赏
  • 举报
回复
以万分感谢
wangbab 2003-04-12
  • 打赏
  • 举报
回复
在对话框中映射WM_CTLCOLOR消息;
HBRUSH CMyDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_STATIC){
pDC->SetBkColor(RGB(0,128,0));
return m_hGreenBrush;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
返回的m_hGreenBrush为你在对话框中定义的HBRUSH类型变量;
定义如下:HBRUSH m_pGreenBrush;
在BOOL CMyDlgDlg::OnInitDialog()中创建刷子;
m_pGreenBrush=::CreateSolidBrush(RGB(0,128,0));
我试过,没问题

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧