LoadImage的路径问题

fendouzhe 2011-04-15 02:51:48
通过LoadImage装载一个位图,位图文件放在工程的res文件夹下,调用时为它的第二个参数传递.\\res\\BitMapName.bmp则找不到位图文件,传递./res/BitMapName.bmp则可以找到,或者采用绝对路径,在路径找使用\\也可以找到。
想请教一下,通常在MFC编程中涉及到路径的时候是否都应使用双反斜杠(\\)的形式?可否使用反斜杠(/)?
上述情况使用了双反斜杠的相对路径为什么找不到位图文件,而双反斜杠的绝对路径就可以?在使用\\时,是否一定要使用绝对路径?
...全文
2091 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
baggio 2011-04-15
  • 打赏
  • 举报
回复
以前也需要过这样的问题,总是在//和\\之间搞混淆,学习了。
psbeond 2011-04-15
  • 打赏
  • 举报
回复
由于有环境变量这个东西存在,所以,你在使用路径的时候,最好先得到exe的绝对路径,然后再把LoadImage要用到的图转成绝对路径。
mudunke775 2011-04-15
  • 打赏
  • 举报
回复
基本不用,因为前面需要../../ 你无法得知你的程序到底会有多少层路径
fendouzhe 2011-04-15
  • 打赏
  • 举报
回复
像"./res/Name.bmp" 这样的路径表示方式在代码中不常用么?
chubin1989 2011-04-15
  • 打赏
  • 举报
回复
你可以插入资源bitmap,这样就保证找的到了,而且可以用id号
mudunke775 2011-04-15
  • 打赏
  • 举报
回复

char ch[200];
GetCurrentDirectory(200,ch);//获取当前路径
m_strPath = ch;

m_strPath + "\\res\\logon_btn_min.png"
ouyh12345 2011-04-15
  • 打赏
  • 举报
回复
先获得exe的路径,然后再找bmp的路径
走走刀口 2011-04-15
  • 打赏
  • 举报
回复

HBITMAP hBitmap=(HBITMAP)::LoadImage(NULL,"res\\BitMapName.bm",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
走走刀口 2011-04-15
  • 打赏
  • 举报
回复
你的第二参数应该写成:
res\\BitMapName
不要前面的\\
Eleven 2011-04-15
  • 打赏
  • 举报
回复
CButton* pButton = (CButton*)GetDlgItem(IDC_BUTTON1);
ASSERT(pButton);
pButton->ModifyStyle(0, BS_RIGHT | BS_BITMAP);
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, _T("F:\\11.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_DEFAULTSIZE);
ASSERT(hBitmap);
pButton->SetBitmap(hBitmap);
fendouzhe 2011-04-15
  • 打赏
  • 举报
回复
顺便问一下,通过SetBitMap为按钮设置位图的时候怎样使位图靠右对齐?MSDN上说用BS_RIGHT ,但没说怎么用。
Eleven 2011-04-15
  • 打赏
  • 举报
回复
采用绝对路径保险一些~

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧