这里主要有几个问题。
1.静态编辑框的ID默认为IDC_STATIC,不管你创建多少个,它的ID始终都是IDC_STATIC,并不会像其他控件(如按钮等)那样,自动的默认为IDC_BUTTON1,IDC_BUTTON2等。而且在默认的情况下,你并不能为该控件增加控件变量或者让其相应消息,只有将控件的ID改变之后才可以为其增加控件变量或让其相应一些消息。
2.窗口的样式的确十分重要。很多时候你忽视了窗口的样式,将得不到你想要的效果。你只有为控件增加了SS_ICON或者SS_BITMAP风格才能在其上面添加位图或者图标。
3设置方法。
《--1--》设置图标
(1)直接得到静态编辑框的指针对其进行操作。
(2)为静态编辑框增加相应的控件变量,利用控件变量进行操作。
CStatic * pstatic=(CStatic*)GetDlgItem(IDC_STATIC1);
HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON1);
pstatic->ModifyStyle(0,SS_ICON|SS_CENTERIMAGE);
pstatic->SetIcon(hIcon);
或者:
hi=::LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1)))
m_Static1.ModifyStyle(0,SS_ICON |SS_CENTERIMAGE);
m_Static1.SetIcon(hi);
《--2--》设置位图
可以完全仿照上面的代码。
同样的道理我们也可以在其他控件上显示位图或者图像。不同的是,有些按钮需要用硬性函数,如静态编辑框,而有些控件可以在属性后面直接设置“位图”和“图标”属性。