MFC单文档里怎么添加位图?关键是插入不了图片,
MFC单文档里怎么添加位图?我用的VC++6.0建立的一个单文档工程,准备测试一下在里面显示图片,按照Insert——Resource——Bitmap——Import的步...
MFC单文档里怎么添加位图?我用的VC++6.0建立的一个单文档工程,准备测试一下在里面显示图片,按照Insert——Resource——Bitmap——Import的步骤,然后选择图片,本来插入图片之后应该会自动将图片插入到项目工作区那里的ResourceView的Bitmap下面的,但是却没有,然后提示我输入Resource Type,然后输入aa,点确定,生成的资源ID是IDR_AA1,,而不是IDB_BITMAP1,我要的是IDB_BITMAP1
----------------------------------------------------------------------------------------------------
[例Ex_BMP] 在视图中显示位图
(1) 用MFC AppWizard创建一个默认的单文档应用程序Ex_BMP。
(2) 按快捷键Ctrl+R,弹出“插入资源”对话框,选择Bitmap资源类型。
(3) 单击[导入]按钮,出现“导入资源”对话框,将文件类型选择为“所有文件(*.*)”,
从外部文件中选定一个位图文件,然后单击[Import]按钮,该位图就被调入应用
程序中。保留默认的位图资源标识IDB_BITMAP1。
!!!这是教材ppt上面给的步骤,按照它的步骤插入的图片的ID并不是IDB_BITMAP1,而是IDR_AA1,就是以IDR开头的,
代码:(这是从书上copy的)
--------------------------------------------------------------------------------------
void CEx_BMPView::OnDraw(CDC* pDC)
{
CEx_BMPDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap m_bmp;
m_bmp.LoadBitmap(IDB_BITMAP1); // 调入位图资源
BITMAP bm; // 定义一个BITMAP结构变量,以便获取位图参数
m_bmp.GetObject(sizeof(BITMAP),&bm);
CDC dcMem; // 定义并创建一个内存设备环境
dcMem.CreateCompatibleDC(pDC);
CBitmap *pOldbmp = dcMem.SelectObject(&m_bmp); // 将位图选入内存设备环境中
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY);
// 将位图复制到实际的设备环境中
dcMem.SelectObject(pOldbmp); // 恢复原来的内存设备环境
} 展开
----------------------------------------------------------------------------------------------------
[例Ex_BMP] 在视图中显示位图
(1) 用MFC AppWizard创建一个默认的单文档应用程序Ex_BMP。
(2) 按快捷键Ctrl+R,弹出“插入资源”对话框,选择Bitmap资源类型。
(3) 单击[导入]按钮,出现“导入资源”对话框,将文件类型选择为“所有文件(*.*)”,
从外部文件中选定一个位图文件,然后单击[Import]按钮,该位图就被调入应用
程序中。保留默认的位图资源标识IDB_BITMAP1。
!!!这是教材ppt上面给的步骤,按照它的步骤插入的图片的ID并不是IDB_BITMAP1,而是IDR_AA1,就是以IDR开头的,
代码:(这是从书上copy的)
--------------------------------------------------------------------------------------
void CEx_BMPView::OnDraw(CDC* pDC)
{
CEx_BMPDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap m_bmp;
m_bmp.LoadBitmap(IDB_BITMAP1); // 调入位图资源
BITMAP bm; // 定义一个BITMAP结构变量,以便获取位图参数
m_bmp.GetObject(sizeof(BITMAP),&bm);
CDC dcMem; // 定义并创建一个内存设备环境
dcMem.CreateCompatibleDC(pDC);
CBitmap *pOldbmp = dcMem.SelectObject(&m_bmp); // 将位图选入内存设备环境中
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY);
// 将位图复制到实际的设备环境中
dcMem.SelectObject(pOldbmp); // 恢复原来的内存设备环境
} 展开
3个回答
展开全部
这个只是个名字而已,你把IDR_AA1改成IDB_BITMAP1不就完了。点位图,然后右边有属性,下面有IDR_AA1的符号,把它改成IDB_BITMAP1
追问
我有试过,可是用那个代码显示图片的时候就不行了,
追答
BITMAP图片很简单的,你直接用WINDOWs的画图程序,另存为BMP就好了,如果你要加载JPEG图片的话还要用另外的函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VC 6 中添加 资源 图片文件 只支持 BMP 格式,声音文件 只支持 WAV 格式,没办法,他就这样规定,要想用 就得转换格式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询