对话框背景的问题 现在有一个小问题,要给对话框加一背景图片,要求: 图片从文件中读取; 对话框上的button,edit等控件不能被图片覆盖掉.高手们指导一下,给出代码参考啊,谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在OnPaint或者OnCtrlColor中都应该可以吧,只是要把文件Load进来。 要加picture控件吗?我直接用picture控件load一幅图片,但是把其它的控件就覆盖掉了,现在的要求是不是覆盖掉其它的控件 可以参考这个帖子:http://topic.csdn.net/t/20040126/14/2681701.html int nBmpX; int nBmpY; HDC hDC; CBitmap hBitmap; hBitmap.LoadBitmap(IDB_BITMAP1); BITMAP bmp; GetObject(hBitmap,sizeof(bmp),&bmp); nBmpX=bmp.bmWidth; nBmpY=bmp.bmHeight; hDC=CreateCompatibleDC(NULL); SelectObject(hDC,hBitmap); CClientDC dcc(this); StretchBlt(dcc,0,0,nBmpX,nBmpY,hDC,0,0,nBmpX,nBmpY,SRCCOPY); void CMyDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { int nBmpX; int nBmpY; HDC hDC; CBitmap hBitmap; hBitmap.LoadBitmap(IDB_BITMAP1); BITMAP bmp; GetObject(hBitmap,sizeof(bmp),&bmp); nBmpX=bmp.bmWidth; nBmpY=bmp.bmHeight; hDC=CreateCompatibleDC(NULL); SelectObject(hDC,hBitmap); CClientDC dcc(this); StretchBlt(dcc,0,0,nBmpX,nBmpY,hDC,0,0,nBmpX,nBmpY,SRCCOPY); CDialog::OnPaint(); }} VC++OpenGL 图形染色染不上去(新手求助)--在线等 发一个自绘窗体,各位参考。 VC6经常出现编译死掉的情况 请问如何在图片中加入透明图 急急急!!关于位图处理的问题 如何得到某个网页的源文件呢(查看-》源文件) 请教程序如何响应用户按CTRL+C IXMLDOMElement和IXMLDOMNOde能不能互相转换 如何取得CPU使用的百分比? 有谁能告诉我怎么应用COM? visual studio 中用C++如何在主程序中载入一个模块(如obj文件,不要载入一个动态库) 急问!!!!
我直接用picture控件load一幅图片,
但是把其它的控件就覆盖掉了,
现在的要求是不是覆盖掉其它的控件
http://topic.csdn.net/t/20040126/14/2681701.html
int nBmpX;
int nBmpY;
HDC hDC;
CBitmap hBitmap;
hBitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmp;
GetObject(hBitmap,sizeof(bmp),&bmp);
nBmpX=bmp.bmWidth;
nBmpY=bmp.bmHeight;
hDC=CreateCompatibleDC(NULL);
SelectObject(hDC,hBitmap);
CClientDC dcc(this);
StretchBlt(dcc,0,0,nBmpX,nBmpY,hDC,0,0,nBmpX,nBmpY,SRCCOPY);
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
int nBmpX;
int nBmpY;
HDC hDC;
CBitmap hBitmap;
hBitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmp;
GetObject(hBitmap,sizeof(bmp),&bmp);
nBmpX=bmp.bmWidth;
nBmpY=bmp.bmHeight;
hDC=CreateCompatibleDC(NULL);
SelectObject(hDC,hBitmap);
CClientDC dcc(this);
StretchBlt(dcc,0,0,nBmpX,nBmpY,hDC,0,0,nBmpX,nBmpY,SRCCOPY);
CDialog::OnPaint();
}
}