窗口、CListCtrl控件、Edit控件设置背景图片
2017-10-27 10:10
621 查看
如下图所示:
首先要导入bmp格式的背景图片:
1、窗口绘制背景图:
BOOL C账号管理器Dlg::OnEraseBkgnd(CDC* pDC)
{
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap Cbp;
Cbp.LoadBitmap(IDB_FILEMGR);
MemDC.SelectObject(&Cbp);
BITMAP Bp;
Cbp.GetBitmap(&Bp);
CRect rect;
GetClientRect(&rect);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,Bp.bmWidth,Bp.bmHeight,SRCCOPY);
MemDC.DeleteDC();
return TRUE;
//return CDialogEx::OnEraseBkgnd(pDC);
}
2、3个编辑框绘制背景图:
HBRUSH C账号管理器Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
switch (pWnd->GetDlgCtrlID())
{
case IDC_STATIC_NAME:
case IDC_STATIC_ID:
case IDC_STATIC_PW:
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,255,0));
hbr = (HBRUSH)GetStockObject(NULL_BRUSH);//空画刷,不加此句会有阴影
break;
case IDC_NAME:
case IDC_ID:
case IDC_PASSWORD:
CWnd* pd; CRect rc;
if(pWnd->GetDlgCtrlID() == IDC_NAME) pd = (CWnd*)GetDlgItem(IDC_NAME);
if(pWnd->GetDlgCtrlID() == IDC_ID) pd = (CWnd*)GetDlgItem(IDC_ID);
if(pWnd->GetDlgCtrlID() == IDC_PASSWORD) pd = (CWnd*)GetDlgItem(IDC_PASSWORD);
pd->GetClientRect(&rc);
ScreenToClient(&rc);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,0,0));
CBitmap bmp;
bmp.LoadBitmap(IDB_FILEMGR);
CBrush brush(&bmp);
CBrush* pOldBrush = (CBrush*)pDC->SelectObject(&brush);
pDC->FillRect(&rc,&brush);
hbr = (HBRUSH)brush;
break;
}
return hbr;
}
3、CListCtrl控件绘制背景图:在对话框的初始化函数中进行也可以:
m_List.SetTextBkColor(CLR_NONE);
m_List.SetBkColor(CLR_NONE);
m_List.SetTextColor(RGB(255,0,0));
TCHAR szBuffer[_MAX_PATH];
VERIFY(::GetModuleFileName(AfxGetInstanceHandle(), szBuffer, _MAX_PATH));
CString sPath = (CString)szBuffer;
sPath = sPath.Left(sPath.ReverseFind('\\') + 1);
sPath += "file manager.bmp";
m_List.SetBkImage( sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义:CListCtrl m_controllist1;
sPath.ReleaseBuffer();
首先要导入bmp格式的背景图片:
1、窗口绘制背景图:
BOOL C账号管理器Dlg::OnEraseBkgnd(CDC* pDC)
{
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap Cbp;
Cbp.LoadBitmap(IDB_FILEMGR);
MemDC.SelectObject(&Cbp);
BITMAP Bp;
Cbp.GetBitmap(&Bp);
CRect rect;
GetClientRect(&rect);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,Bp.bmWidth,Bp.bmHeight,SRCCOPY);
MemDC.DeleteDC();
return TRUE;
//return CDialogEx::OnEraseBkgnd(pDC);
}
2、3个编辑框绘制背景图:
HBRUSH C账号管理器Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
switch (pWnd->GetDlgCtrlID())
{
case IDC_STATIC_NAME:
case IDC_STATIC_ID:
case IDC_STATIC_PW:
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,255,0));
hbr = (HBRUSH)GetStockObject(NULL_BRUSH);//空画刷,不加此句会有阴影
break;
case IDC_NAME:
case IDC_ID:
case IDC_PASSWORD:
CWnd* pd; CRect rc;
if(pWnd->GetDlgCtrlID() == IDC_NAME) pd = (CWnd*)GetDlgItem(IDC_NAME);
if(pWnd->GetDlgCtrlID() == IDC_ID) pd = (CWnd*)GetDlgItem(IDC_ID);
if(pWnd->GetDlgCtrlID() == IDC_PASSWORD) pd = (CWnd*)GetDlgItem(IDC_PASSWORD);
pd->GetClientRect(&rc);
ScreenToClient(&rc);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,0,0));
CBitmap bmp;
bmp.LoadBitmap(IDB_FILEMGR);
CBrush brush(&bmp);
CBrush* pOldBrush = (CBrush*)pDC->SelectObject(&brush);
pDC->FillRect(&rc,&brush);
hbr = (HBRUSH)brush;
break;
}
return hbr;
}
3、CListCtrl控件绘制背景图:在对话框的初始化函数中进行也可以:
m_List.SetTextBkColor(CLR_NONE);
m_List.SetBkColor(CLR_NONE);
m_List.SetTextColor(RGB(255,0,0));
TCHAR szBuffer[_MAX_PATH];
VERIFY(::GetModuleFileName(AfxGetInstanceHandle(), szBuffer, _MAX_PATH));
CString sPath = (CString)szBuffer;
sPath = sPath.Left(sPath.ReverseFind('\\') + 1);
sPath += "file manager.bmp";
m_List.SetBkImage( sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义:CListCtrl m_controllist1;
sPath.ReleaseBuffer();
相关文章推荐
- 如何设置C# treeview Web控件背景图片
- 如何设置C# treeview Web控件背景图片
- qt4:给你的窗口设置一个背景图片
- Swing控件(JPanel,Container等)设置背景图片
- QT入门-主窗口设置背景颜色和背景图片
- MFC控件和背景图片自适应窗口最大化和拉伸缩放的实现
- JAVA如何在为窗口设置背景图片(1.JFrame)
- Java代码给控件设置背景颜色或图片setBackgroundResource
- Android代码code设置9.png/9-patch 图片背景后,此view中的控件显示不正常
- QT中几种设置控件的图片背景的方法
- MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现
- !!!GTK+3.0 给控件和窗口添加背景图片
- 主窗口及控件背景颜色信息设置
- 设置ios窗口的背景图片
- 为jframe窗口设置背景图片
- Java.swing-如何为frame窗口设置背景图片
- 为jframe窗口设置背景图片
- MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现
- JAVA如何在为窗口设置背景图片
- 动态设置Edit控件的背景及字体颜色