vc++6.0中动态创建的CStatic控件,不能显示图片,而是一片灰色,为什么?

汤去三面 2008-01-18 11:29:16
请教各位达人,我的程序中需要动态的增加或删除图片,但我成功的动态创建了CStatic控件,也在界面上显示了,但是图片却不能显示,在控件显示区域是一片灰色,请问为什么?下面是我的代码:
CStatic *myStatic;
myStatic = new CStatic();
myStatic->Create(_T("Bitmap Static"), WS_CHILD|WS_VISIBLE|SS_CENTERIMAGE|SS_BITMAP, CRect(100,100,685,900), this);
HBITMAP hBmp = LoadBitmap(AfxGetInstanceHandle(),"D:\\work\\MADS Client\\medias\\p01.bmp");
myStatic->SetBitmap(hBmp);
myStatic->ShowWindow(SW_SHOWNA);

请大家帮帮忙,指出问题所在。多谢了。
...全文
218 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
汤去三面 2008-01-18
  • 打赏
  • 举报
回复
请问datoucaicai,下面对吗?
HBITMAP hBmp = (HBITMAP)LoadImage(AfxGetInstanceHandle(),
"D:\\work\\MADS Client\\medias\\p01.bmp",
IMAGE_BITMAP, 585, 800, 0);
datoucaicai 2008-01-18
  • 打赏
  • 举报
回复
LoadBmp是用来从资源中获取图片的, LoadImage是用来从文件中加载图片的
汤去三面 2008-01-18
  • 打赏
  • 举报
回复
我是VC6的新手,请问zoulie,如何自绘,能否给些代码?
zoulie 2008-01-18
  • 打赏
  • 举报
回复
自绘控件..
汤去三面 2008-01-18
  • 打赏
  • 举报
回复
我自己解决了。多谢各位。
应该如下:
HBITMAP hBmp = (HBITMAP)LoadImage(AfxGetInstanceHandle(),
"D:\\work\\MADS Client\\medias\\p01.bmp",
IMAGE_BITMAP, 585, 800, LR_LOADFROMFILE);

贴出来大家共享。
汤去三面 2008-01-18
  • 打赏
  • 举报
回复
我自己解决了。多谢各位。
应该如下:
HBITMAP hBmp = (HBITMAP)LoadImage(AfxGetInstanceHandle(),
"D:\\work\\MADS Client\\medias\\p01.bmp",
IMAGE_BITMAP, 585, 800, LR_LOADFROMFILE);

贴出来大家共享。

15,978

社区成员

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

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