发现很多朋友依照课程和现有博客操作静态文本框怎么都无法显示出图片,编译也能正常通过,这里多半就是.BMP格式的图片转换出了问题,采用电脑自带的画图软件打开需要转换的其他格式图片,然后另存为.BMP格式的文件,放入代码工程中显示编译通过且能在对话框正常显示图片。
具体流程如下:
1.
2.
3.
放在工程这个位置即可,代码里路径为“./xxx.bmp"
附带OnInitDialog()函数里的静态文本框初始化代码:
//1设置静态控件窗口风格为位图居中显示
m_pic.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);
//2通过路径获取句柄
#define HBMP(filepath,width,height) (HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION)
//宽高设置
CRect rect;
m_pic.GetWindowRect(rect);//获取showPicture对象的窗口大小
//指定要在静态控件中显示的位图。
m_pic.SetBitmap(HBMP(TEXT("./modewin.bmp"), rect.Width(), rect.Height()));
其中#define行很长不要去换行