码迷,mamicode.com
首页 > 其他好文 > 详细

背景图片,控件色等

时间:2014-10-29 19:02:22      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:des   style   color   ar   java   sp   on   log   bs   

//背景色-----------------------------------------------------

1.添加消息函数ON_WM_ERASEBKGND,删除缺省的return后面内容.然后自己发挥
若直接return TRUE;设置好这里后,在InitInstance()中设置的

  SetDialogBkColor(RGB(250,250,250),RGB(255,0,0));//背景色-字体色,但是对按钮等一些文字不起效果.只能设置纯色

就不起作用了.变成透明色的了

OnEraseBkgnd()设置背景色,但对控件颜色无效

 

BOOL CDFXDlg::OnEraseBkgnd(CDC* pDC) //添加背景图片
{
CBitmap bmp;
bmp.LoadBitmap(IDB_BACK);
CDC mdc;
mdc.CreateCompatibleDC(pDC);
mdc.SelectObject(&bmp);
CRect rect;
GetClientRect(rect);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&mdc,0,0,SRCCOPY);

 


return TRUE;
// return CDialog::OnEraseBkgnd(pDC);
}

 

//控件色控制-----------------------------------------------------

添加ON_WM_CTLCOLOR消息

HBRUSH CDFXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//pdc用来控制控件文字和颜色背景()编辑框颜色---不能修改按钮控件/时间控件颜色
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch(pWnd->GetDlgCtrlID())
{
case IDC_STATIC:
pDC->SetTextColor(RGB(255,255,0));
pDC->SetBkMode(TRANSPARENT);
// pDC->SetBkColor(RGB(255,255,255));
return (HBRUSH)GetStockObject(NULL_BRUSH);//静态文本控件没有阴影背景
case IDC_NUMBER:
pDC->SetTextColor(RGB(0,0,0));
//static CBrush br(RGB(255,0,0));
//return br;

 

}
// TODO: Return a different brush if the default is not desired
return hbr;

}

//自绘---------------------------------------------------------------

不想学了,vc装饰界面是不是太麻烦了,以前学校用过一点点java,感觉那个很好设置的

 

背景图片,控件色等

标签:des   style   color   ar   java   sp   on   log   bs   

原文地址:http://www.cnblogs.com/fx427103/p/4059836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!