发新话题
打印

弱问题:如何用文件名而不是ID号显示图像

弱问题:如何用文件名而不是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是存在的。

我知道问题很弱,但我是没有基础的菜鸟,想了很多没头没脑的办法还是解决不了,还请高手,版主浪费点时间,指点迷津。不胜感激~!

TOP

文件我已经把它考到了程序目录下了,我也试过 用绝对路径名,还是不管用阿,编译能通过 ,但就是运行就出错。

TOP

还是不行..我通过工程---添加工程——文件 把“1.bmp”添加到工程中,结果出错,显示说该文件已经存在于工程中的报错对话框。

另外,我发现,在bitmap.LoadBitmap()语句中,写任何文件名,编译都不报错如LoadBitmap("asdf.bmp") 编译就不报错

用调试 运行的时候,总是到bitmap.GetBitmap(&bm);语句运行出错,错误就是运行整个程序时出现的那个错误。

这个错误,应该是在bitmap.LoadBitmap()中出的,它并没有真的加载位图“1.bmp”到位图 变量bitmap中

还请大虾 帮我分析分析咋回事,谢谢啦

TOP

俺明白你的意思,按你的方法加入资源以后,就是在ResourceView页项中出现新的资源Bitmap,新加入的位图文件索引号默认为IDB_BITMAP1。这种方法最早就用过了,可是不行啊。。

郁闷中......

TOP

我想换一个路子 ,
就是在程序中  "用语句"  来实现把文件导入资源.
比如,在我的程序目录下有一个文件"1.bmp",然后用一条语句将其导入资源,获得他的ID号,在用ID号来实现位图的显示(程序中用ID号是可以正确显示的,但 用他的文件名就是不行,真是郁闷)

我现在不懂的是如何"用语句"实现将文件导入资源

请教大虾,我的想法可行吗,用什么语句来实现文件的导入呢???拜托~~!

TOP

发新话题