求把jpg gif作为对话框背景的code

HoneyPot 2005-12-21 12:07:07
求把jpg gif作为对话框背景的code
...全文
135 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xx_jj 2005-12-24
  • 打赏
  • 举报
回复
搜索PictureEx 类
菜牛 2005-12-24
  • 打赏
  • 举报
回复
CImage
vcmute 2005-12-24
  • 打赏
  • 举报
回复
OnEraseBkgnd中使用OleLoadPicture显示jpg,gif
xuzheng318 2005-12-24
  • 打赏
  • 举报
回复
你在对话框的WM_CTLCOLOR消息中处理
HBRUSH CTestDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if ( CTLCOLOR_STATIC==nCtlColor )
return (HBRUSH)::GetStockObject(NULL_BRUSH);

return hbr;
}

如果是指定的静态控件:
则可再加入一判断:if ( pWnd == this->GetDlgItem(...))
zoulie 2005-12-24
  • 打赏
  • 举报
回复
在HBRUSH CTestDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 中参考这段代码

CBitmap m_bit;
m_bit.LoadBitmap(IDB_BITMAP2);
BITMAP bm;
m_bit.GetBitmap(&bm);

CDC mCombit;
mCombit.CreateCompatibleDC(pDC);
mCombit.SelectObject(&m_bit);

    CRect rect;
pWnd->GetClientRect(rect);
pDC->SetBkMode(TRANSPARENT );
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&mCombit,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY );
huwei001982 2005-12-24
  • 打赏
  • 举报
回复
CPaintDC dc(this);
if (m_pic.Load("bk.jpg"))
{
m_pic.Draw(&dc);
}
else
{
TRACE("Load Falid.\n");
}
写在 onpaint 里面

m_pic 是一个 CPicture类, 网上可以找到的, 基本原理是用 IPicture

PS: 以上方法同样适合 gif, 但只能是静态的
HoneyPot 2005-12-24
  • 打赏
  • 举报
回复
谢谢大家但是由于平时没有注重ui,对界面一瞧不通,这是需要一个对话框的背景,仅仅显示会盖住控件,谢谢,分会加的,大家放心
HoneyPot 2005-12-23
  • 打赏
  • 举报
回复
up
HoneyPot 2005-12-21
  • 打赏
  • 举报
回复
大家帮一下啊!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧