各位高手请帮忙,我new 了一个新工程项目,然后添加dialog资源 ID=ID_DIALOG_BAR,我在MainFrm.h定义一个CDialogBar的变量,m_ControlBar,然后在MainFrm.cpp create,然后,这个dialog就会显示在主界面中,我想问的是,如何更改dialog(ID_DIALOG_BAR)的背景色和如何把它的背景设为一个图片,请帮忙。谢谢。
解决方案 »
- 新的csdn怎么向专家提问啊,就没看见提问界面有专家选项
- 自绘制CListCtrl只能绘制一次, 调用GetHeaderCtrl()->DeleteItem(0)后就不再触发DrawItem
- 我建一个CBaseDocument的类,为什么提示错误
- 关于RGB与YUV互换的问题,急啊。。。
- MFC写的ActiveX控件注册的问题?急救
- 请各位看看我可以找什么工作
- dll程序从自己的资源中读取数据出错,为什么?
- 将.exe工程改为dll工程
- 做Xtreme toolkit pro开源界面库的那个公司怎么判断你的代码用了他的库?我要做那些修改呢?才能让他认不出来
- 请教各位大侠,如何获得局域网内所有共享的资源?
- 难度系数10.0,很有挑战性,有关动态执行Click事件的问题!!!!!!!!
- 菜鸟的一个文件保存的问题
http://www.codeguru.com/dialog/IrrBmpDlg.html
http://www.codeguru.com/dialog/dlg_back_text_color.shtml
BOOL CControlButton::OnInitDialog()
{
/* CButton *MyButton;
HBITMAP Bitmap;
Bitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_BITMAP2));
MyButton=(CButton*)GetDlgItem(IDC_BUTTON1);
MyButton->SetBitmap(Bitmap);*/ CDialog::OnInitDialog();
m_brushBackground.CreateSolidBrush(RGB(255, 255, 255)); // TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
另一个函数:HBRUSH CControlButton::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
return m_brushBackground;
}
结果没什么反映,为什么?
{
CRect rect;
GetWindowRect( &rect );
CDC *pMem;
CBitmap *m_OldBitmap;
CBitmap mShowbit; pMem = new CDC(); if( str_Back.IsEmpty() )
mShowbit.LoadBitmap( IDB_BACK );
else{
HBITMAP bitmap;
mShowbit.Detach();
bitmap = (HBITMAP)::LoadImage( NULL , str_Back , IMAGE_BITMAP , 0 , 0 , LR_CREATEDIBSECTION|LR_LOADFROMFILE|LR_DEFAULTSIZE );
mShowbit.Attach(bitmap);
} pMem->CreateCompatibleDC( pDC );
m_OldBitmap=pMem->SelectObject( &mShowbit );
pDC->BitBlt( 0 , 0 , rect.Width() , rect.Height() , pMem , 0 , 0 , SRCCOPY );
pMem->SelectObject( m_OldBitmap ); return true;
}