VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 690|回复: 5

在对话框里设置背景图片

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-24 10:00:01 | 显示全部楼层 |阅读模式
请问怎么在对话框里设置背景图片,我上网搜索了之后,发现有这种做法:
重载WM_ERASEBKGND消息映射函数OnEraseBkgnd(CDC* pDC)
BOOL CMPlayerDlg::OnEraseBkgnd(CDC* pDC)
{
        CDC memDC;
        CBitmap MPlayer;
        if(!MPlayer.LoadBitmap(IDB_MPLAYER))
                return FALSE;
        memDC.CreateCompatibleDC(pDC);
        CBitmap *pOldBmp=memDC.SelectObject(&MPlayer);
        pDC->BitBlt(0,0,MPLAYERWIDTH,MPLAYEREXT,&memDC,0,0,SRCCOPY);
        memDC.SelectObject(pOldBmp);
        return TRUE;
}
可是我只能在单文档里实现,没办法在对话框里实现,因为找不到WM_ERASEBKGND消息.
请问有没有更好的办法能够在对话框里设置背景图片?
回复

使用道具 举报

0

主题

36

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-2-9 21:30:01 | 显示全部楼层
同样可以用这个消息,加上这个函数到你的对话框类,然后加上一个宏到message map里面
ON_WM_ERASEBKGND
回复

使用道具 举报

0

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-13 10:30:01 | 显示全部楼层
1: 手动加消息映射
2: 在那个添加消息向导里,右下角消息过滤时选择(Window) (VC6)
回复

使用道具 举报

0

主题

14

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-2-19 01:30:01 | 显示全部楼层
单击对话框右键->Events->右下角选择"Window"或"ChildWindow"找到ON_WM_ERASEBKGND,然后“Add and Edit",确定。再右键单击对话框,用ClassWizard加上你的代码即可。
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-2-21 16:15:01 | 显示全部楼层
只要是窗口它就有
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-3-10 16:00:01 | 显示全部楼层
按照zzw781225的说法已经弄好了,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表