| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 885 人关注过本帖
标题:[求助]基于对框的动态图片变换?和背影变换?
只看楼主 加入收藏
xiaoyuxiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-23
收藏
 问题点数:0 回复次数:8 
[求助]基于对框的动态图片变换?和背影变换?
大家好,我是位VC++编程的新手.在这里想请教大家一个问题:我在基于对话框的程序中,先在对话框上加入了picture控件再从资源中引入图片,这样的图片能用什么样的方法让它能根据需要变动图片?第二我又用了加入背景的方法加入了图片但是这样的图片也是死的我没有办法让它根据需要变动图片,我编了些源代码觉得能把图片换了,但运行时总出错.请问我该怎么处理呢?
搜索更多相关主题的帖子: 背影 动态 
2007-05-23 00:50
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 

假如你的图片控件ID是IDC_PICTURE1
同时用几个CBitmap载入了几个图片,那么只要加入如下代码变可以实现图片切换

假如个图片ID是IDB_BITMAP1
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
( (CStatic *)GetDlgItem(IDC_PICTURE1) )->SetBitmap(&bitmap);
等到下次切换的时候,只要将bitmap载入别的位图就是
bitmap.LoadBitmap(IDB_BITMAP2);
............


2007-05-23 09:43
xiaoyuxiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-23
收藏
得分:0 

这样不行,不知道为什么书上也是这样说的我也是这样做的,可是我运行起来没反应.我的源代码是这样的
HBITMAP m_hBackGround;
CButton* m_Button;
CBitmap Bitmap[16];

m_Button=(CButton*)GetDlgItem(IDC_P);

Bitmap[0].LoadBitmap(IDB_BITMAP2);
Bitmap[1].LoadBitmap(IDB_BITMAP3);
Bitmap[2].LoadBitmap(IDB_BITMAP4);
Bitmap[3].LoadBitmap(IDB_BITMAP5);
Bitmap[4].LoadBitmap(IDB_BITMAP6);
Bitmap[5].LoadBitmap(IDB_BITMAP7);
Bitmap[6].LoadBitmap(IDB_BITMAP8);
Bitmap[7].LoadBitmap(IDB_BITMAP9);
Bitmap[8].LoadBitmap(IDB_BITMAP10);
Bitmap[9].LoadBitmap(IDB_BITMAP11);
Bitmap[10].LoadBitmap(IDB_BITMAP12);
Bitmap[11].LoadBitmap(IDB_BITMAP13);
Bitmap[12].LoadBitmap(IDB_BITMAP14);
Bitmap[13].LoadBitmap(IDB_BITMAP15);
Bitmap[14].LoadBitmap(IDB_BITMAP16);
Bitmap[15].LoadBitmap(IDB_BITMAP17);
Bitmap[16].LoadBitmap(IDB_BITMAP18);

m_hBackGround=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE
(IDB_BITMAP1));
m_Button->SetBitmap(m_hBackGround);
我这样先将一个图片加进去以后再加入更别的图片,可就是第一个图片也显示不出来.
只能到Pictrur中将其中的位图下面的菜单中选中这个图他就显示那个图,跟程序没什么关系感觉.这是怎么回事?

2007-05-23 13:51
xiaoyuxiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-23
收藏
得分:0 

我的源代码是这样的
HBITMAP m_hBackGround;
CButton* m_Button;
CBitmap Bitmap[16];

m_Button=(CButton*)GetDlgItem(IDC_P);//IDC_P是我Pictrue控件的ID

Bitmap[0].LoadBitmap(IDB_BITMAP2);
Bitmap[1].LoadBitmap(IDB_BITMAP3);
Bitmap[2].LoadBitmap(IDB_BITMAP4);
Bitmap[3].LoadBitmap(IDB_BITMAP5);
Bitmap[4].LoadBitmap(IDB_BITMAP6);
Bitmap[5].LoadBitmap(IDB_BITMAP7);
Bitmap[6].LoadBitmap(IDB_BITMAP8);
Bitmap[7].LoadBitmap(IDB_BITMAP9);
Bitmap[8].LoadBitmap(IDB_BITMAP10);
Bitmap[9].LoadBitmap(IDB_BITMAP11);
Bitmap[10].LoadBitmap(IDB_BITMAP12);
Bitmap[11].LoadBitmap(IDB_BITMAP13);
Bitmap[12].LoadBitmap(IDB_BITMAP14);
Bitmap[13].LoadBitmap(IDB_BITMAP15);
Bitmap[14].LoadBitmap(IDB_BITMAP16);
Bitmap[15].LoadBitmap(IDB_BITMAP17);
Bitmap[16].LoadBitmap(IDB_BITMAP18);

m_hBackGround=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE
(IDB_BITMAP1));
m_Button->SetBitmap(m_hBackGround);
我这样先将一个图片加进去以后再加入更别的图片,可就是第一个图片也显示不出来.
只能到Pictrur中将其中的位图下面的菜单中选中这个图他就显示那个图,跟程序没什么关系感觉.这是怎么回事?

2007-05-23 13:52
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
你的图片控件是否是BITMAP风格

2007-05-23 15:15
xiaoyuxiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-23
收藏
得分:0 
是的啊BITMAP这种格试的
2007-05-23 20:08
xiaoyuxiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-23
收藏
得分:0 
有人能帮我改一下吗?为什么我的不行啊郁闷过二天就要交任务了
2007-05-23 20:14
xiaoyuxiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-23
收藏
得分:0 
还有个问题就是我的Dilog.h中定义了一个int a=0;系统说我错了.
class CMy01Dlg : public CDialog
{
// Construction
public:
CMy01Dlg(CWnd* pParent = NULL); // standard constructor
CBrush m_brBk;
int m=0;
这又是怎么回事
2007-05-23 20:17
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 
不能初始化
在那里

当你开始怀疑自己时,说明你已经失去了判断力
2007-05-23 21:08
快速回复:[求助]基于对框的动态图片变换?和背影变换?
数据加载中...
 
   



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

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