VS2008中加载图片问题

来源:互联网 发布:java api文档下载 编辑:程序博客网 时间:2024/04/28 15:49

最近在做的一个小测试程序,是实现串口通讯。基本功能已经实现,为了看着美观些,就想加个图片显示(表示串口打开或关闭)。于是就采用了LoadImage这个函数, 至于用这个函数是因为它能加载各种格式的图片啦。代码如下:

 HBITMAP hBitmap=(HBITMAP)LoadImage(   NULL,
   _T("res\\off16.bmp"), 
   IMAGE_BITMAP,
   0,0,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE


   );   
         m_IconBtn.SetBitmap(hBitmap);


该函数第二个参数是加载的图片的路径,这里用的是相对路径。下面问题出现了,在工程里运行时,图片正常显示,么有问题。但是转到Debug目录下直接运行.exe 文件时,图片不显示了。这个问题困扰了我半天,在网上搜了好多,最后终于解决了,改后的代码如下:

 HBITMAP hBitmap=(HBITMAP)LoadImage(   
NULL,
_T("D:/LMComTest/res/off16.bmp"), 
IMAGE_BITMAP,
0,0,
    LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE


);  

把之前的相对路径改为绝对路径就可以了。原因是Windows下编译和直接运行的当前路径不一样,  有debug, release文件夹。

0 0