首页 > 其他 > 详细

背景图片,控件色等

时间:2014-10-29 18:59:49      阅读:142      评论:0      收藏:0      [点我收藏+]

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

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,感觉那个很好设置的

 

背景图片,控件色等

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!