VC,工作中偶尔做个上位机软件,还总做不好,也是边上网查,边做,一次心血来潮,想美化下做好的程序,软件功底不好,只好上网学习,这个方法,自认为不错,值得一用,发上来,希望对为了加背景,象以前的我一样在网上乱翻的人有所帮助.
高手请一笑而过,要是能指点一二,更是感激不尽.
1、在资源视图中 填加位图
2、在nameDlg.cpp中填加<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
CBitmap m_bmZD,m_bmBack;
CBrush m_brZD,m_brBack;
和在初始化函数中 BOOL nameDlg::OnInitDialog(){填加
VERIFY(m_bmZD.LoadBitmap(IDB_BG)); // IDB_BG 为位图ID
VERIFY(m_brZD.CreatePatternBrush(&m_bmZD));
VERIFY(m_bmBack.LoadBitmap(IDB_BG));
VERIFY(m_brBack.CreatePatternBrush(&m_bmBack));
3、填加利用向导映射AboutDlg的WM_CTLCOLOR消息,产生函数
HBRUSH nameDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
pDC->SetBkMode(TRANSPARENT);
if (nCtlColor==CTLCOLOR_EDIT)return hbr;
else if(nCtlColor == CTLCOLOR_LISTBOX )
return m_brBack;
return m_brZD;
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
//return hbr;
}
文章评论(0条评论)
登录后参与讨论