标题:
弱问题:如何用文件名而不是ID号显示图像
[打印本页]
作者:
letmehappy
时间:
2006-7-11 10:42
标题:
弱问题:如何用文件名而不是ID号显示图像
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bm;
bitmap.GetBitmap(&bm);
CDC compatibleDC;
compatibleDC.CreateCompatibleDC(pDC);
compatibleDC.SelectObject(&bitmap);
pDC->StretchBlt(0,0,bm.bmWidth,bm.bmHeight,&compatibleDC,0,0,
bm.bmWidth,bm.bmHeight,SRCCOPY);
我遇到的问题是,如果把红色的代码换成bitmap.LoadBitmap("1.bmp"); 就是用文件名代替ID号,结果无法显示
1.bmp是存在的。
我知道问题很弱,但我是没有基础的菜鸟,想了很多没头没脑的办法还是解决不了,还请高手,版主浪费点时间,指点迷津。不胜感激~!
作者:
Nothing
时间:
2006-7-11 11:39
IDB_BITMAP1是程序的资源,如果是文件的话,你应当加上路径.
作者:
letmehappy
时间:
2006-7-11 13:42
文件我已经把它考到了程序目录下了,我也试过 用绝对路径名,还是不管用阿,编译能通过 ,但就是运行就出错。
作者:
Nothing
时间:
2006-7-11 14:21
LoadBitmap 只能加载工程中的资源,不能加载图型文件
这是MSDN中的说明
LoadBitmap : Initializes the object by loading a named bitmap resource from the application’s executable file and attaching the bitmap to the object.
建议你将相关文件加入系统资源,然后调用.
作者:
letmehappy
时间:
2006-7-13 15:41
还是不行..我通过工程---添加工程——文件 把“1.bmp”添加到工程中,结果出错,显示说该文件已经存在于工程中的报错对话框。
另外,我发现,在bitmap.LoadBitmap()语句中,写任何文件名,编译都不报错如LoadBitmap("asdf.bmp") 编译就不报错
用调试 运行的时候,总是到bitmap.GetBitmap(&bm);语句运行出错,错误就是运行整个程序时出现的那个错误。
这个错误,应该是在bitmap.LoadBitmap()中出的,它并没有真的加载位图“1.bmp”到位图 变量bitmap中
还请大虾 帮我分析分析咋回事,谢谢啦
作者:
Nothing
时间:
2006-7-13 19:51
不能这样加入资源文件,将文件加入资源的方法是
点击 菜单 Insert ,然后点 Resource ,这时出现一个窗口,选择Bitmap,然后点 Import,在选择文件的对话框中选择所有文件,选中后,在新出现在窗口出在Resource type中输入Bitmap,然后点OK
作者:
letmehappy
时间:
2006-7-13 20:22
俺明白你的意思,按你的方法加入资源以后,就是在ResourceView页项中出现新的资源Bitmap,新加入的位图文件索引号默认为IDB_BITMAP1。这种方法最早就用过了,可是不行啊。。
郁闷中......
作者:
letmehappy
时间:
2006-7-14 21:03
我想换一个路子 ,
就是在程序中 "用语句" 来实现把文件导入资源.
比如,在我的程序目录下有一个文件"1.bmp",然后用一条语句将其导入资源,获得他的ID号,在用ID号来实现位图的显示(程序中用ID号是可以正确显示的,但 用他的文件名就是不行,真是郁闷)
我现在不懂的是如何"用语句"实现将文件导入资源
请教大虾,我的想法可行吗,用什么语句来实现文件的导入呢???拜托~~!
作者:
Nothing
时间:
2006-8-10 21:20
你去这里看看,有没有你需要的源代码。
http://www.lihuasoft.net/source/list.php?frmid=19
Bitmap 位图、光标等资源编程的例子
http://www.lihuasoft.net/source/show.php?id=729
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0