| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3810 人关注过本帖
标题:背景图片遮盖按钮该如何解决?
只看楼主 加入收藏
zixun007
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-12-4
收藏
 问题点数:0 回复次数:4 
背景图片遮盖按钮该如何解决?
我是个初学者,想用VC6.0做个音乐播放器,想用自己下载的一个图片作为播放器的主背景,导入的图片是256色的,24位,在VC里不能正常显示,在图片上加按钮的话,按钮都会被遮盖,根本看不到,这个问题该如何解决?是不是不能直接以控件的方式把图片加上的啊?希望高手帮我回答一下如何能解决,请劲量详细,告诉我哪有教程也行,谢谢了
搜索更多相关主题的帖子: 按钮 遮盖 
2008-12-13 23:53
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
响应WM_ERASEBKGND消息,在消息响应函数中加入贴背景图的代码,这样的话就不会出现背景遮盖按钮的情况
如下
BOOL CPlayerDlg::OnEraseBkgnd(CDC* pDC)
{
    // TODO: Add your message handler code here and/or call default
    CRect rcClient;
    GetClientRect(&rcClient);
    BITMAP bm;
    m_BkGndBmp.GetBitmap(&bm);
    CDC memDC;
    memDC.CreateCompatibleDC(pDC);
    CBitmap *pOldBmp = memDC.SelectObject(&m_BkGndBmp);
    pDC->StretchBlt(0,0,rcClient.Width(),rcClient.Height(),&memDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
    memDC.SelectObject(pOldBmp);
    memDC.DeleteDC();
    return TRUE;
//    return CDialog::OnEraseBkgnd(pDC);
}
其中m_BkGndBmp.LoadBitmap(IDB_BITMAP2);
2008-12-14 01:24
zixun007
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-12-4
收藏
得分:0 
谢谢  沼泽 回答我的问题
 我按照你说的去做的 出现如下错误,该如何解决?
error C2065: 'm_BkGndBmp' : undeclared identifier
error C2228: left of '.GetBitmap' must have class/struct/union type
2008-12-14 14:33
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
呵呵,提示你没有定义'm_BkGndBmp' ,你定义一下就可以了,实在不会可以查GetBitmap是那个类的成员函数就知道了
答案:
CBitmap m_BkGndBmp;
2008-12-14 18:58
zixun007
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-12-4
收藏
得分:0 
谢谢了
2008-12-15 10:38
快速回复:背景图片遮盖按钮该如何解决?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019218 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved