VC++中bmp图象的显示

想利用MFC动态的实时显示一副BMP图片, 网上查了很多资料,都很麻烦,终于看到一个简便的方法如下:

通过BMP所在路径,直接将该图片显示

首先在对话框放置一个静态控件(注图片控件无法显示)Static Text控件即可显示图片哦~~

将其重命名为IDC_BMP(不重命名的话无法添加变量),然后再为该控件添加一个变量,命名为m_image,其他设置默认。

然后是具体代码:在需要使用的地方,如按钮函数等里面加入如下代码

 this->m_image.ModifyStyle(0,SS_BITMAP | SS_CENTERIMAGE)           // 将该静态控件设置为是用来显示位图的,这里是通过该静态对话框的变量来进行modifystyle操作的

 HBITMAP hBmp = (HBITMAP)::LoadImage(0, "123.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);  //从bmp文件所在的路径直接读取该bmp图象的句柄,并将其转换为HBITMAP类型

    //注:其中的"123.bmp"是相对路径,即在和可执行文件的同一目录下即可。

 this->m_image.SetBitmap(hBmp);                    //通过变量m_image来设置该静态框所显示的位图文件.

OK!!

只需要这几句就行了, 其中,在VS下运行时,只需要将"123.bmp" 改成_T("123.bmp")即可,否则会提示不能从const char *转换为LPCWSTR ,这是由于UNICODE与ANSI字符的问题,具体百度一下就明白了。

你可能感兴趣的:(VC++中bmp图象的显示)