我们有时候在使用MFC的时候想要某些控件能显示机器设备的运行状态,例如三色灯的指示效果,个人的思路是在界面上用静态文本框去加载一个ICON或者是BMP图片,就是说贴图,不知道大家有没有更好的思路.既然有了思路那就开始吧,具体如下来完成.
如何实现static加载icon,加载bmp基本上类似,我们首先想到的是在静态文本框里面绘制ICON,是SetIcon函数,但是开始我使用这个函数函数没有成功,因为他的参数是一个句柄HICON,那么我们就先要获取他的句柄用以下方法,分为4步,我已经验证过:
1.HICON hicon1 = LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON_GREEN));//获取icon的句柄,这里的IDI就是我们要显示的ICON的ID;
2.CStatic *pStatic1=(CStatic*)GetDlgItem(IDC_STATIC_I1);//定义一个指向静态文本框的指针,这里的IDC是我们静态文本的ID;
3.pStatic1-> ModifyStyle(0x0,SS_ICON|SS_CENTERIMAGE); //设置icon的风格;
4.pStatic1-> SetIcon(hicon1); //调用设置ICON的函数