我在vs2005下建了个wince的mfc基于对话框的工程,想在对话框上显示背景图片

代码如下:BOOLCsljcxtDlg::OnInitDialog(){CDialog::OnInitDialog();CBitmapbmp;bmp.Attach(Loa... 代码如下:
BOOL CsljcxtDlg::OnInitDialog()
{
CDialog::OnInitDialog();

CBitmap bmp;
bmp.Attach(LoadImageW(AfxGetInstanceHandle(),_T("资源文件//无标题t.bmp"),IMAGE_BITMAP,0,0,NULL));
m_brBk.CreatePatternBrush(&bmp);
bmp.DeleteObject();

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
}
void CsljcxtDlg::OnPaint()
{
CRect rect;
GetClientRect(&rect);
CDC *pDC=GetDC();
CDC memdc;
memdc.CreateCompatibleDC(pDC);
CBitmap bitmap;
//从资源中载入位图
bitmap.Attach(LoadImageW(AfxGetInstanceHandle(),_T("资源文件//无标题t.bmp"),IMAGE_BITMAP,0,0,NULL));
memdc.SelectObject(bitmap);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,SRCCOPY);
}
wince中对话框卡住,显示不了
展开
 我来答
原来的我281
2012-04-24 · 超过26用户采纳过TA的回答
知道答主
回答量:134
采纳率:0%
帮助的人:81.6万
展开全部
把擦除背景那个函数的return 改成 return true;
其他显示图片的做法和xp里的一样
追问
有没有代码啊 ,我新手啊,以前没做过这个
追答
void CAdDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
CString strBMPPath = _T("ad.bmp");
bmpBackground.Attach(::SHLoadDIBitmap(strBMPPath));//动态加载
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
}

BOOL CAdDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
return TRUE;

}
来自:求助得到的回答
xubaoxing5200
2012-04-24 · TA获得超过159个赞
知道答主
回答量:198
采纳率:0%
帮助的人:54.1万
展开全部
显示背景图片,具体的你可以参考
http://wenku.baidu.com/view/ce25604df7ec4afe04a1dfe6.html

这里面有很多实例,还有些扩展的方法,自己可以试着写代码
追问
代码用来,wince中显示不出来,对话框卡住了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式