1 图标(标题)的动态使用
我们将实现左上角动态图标的显示。
首先按照向导创建新的项目。由于我们的图标是属于框架,所以在框架类处理。
1)首先在框架类定义图标数组用于存储图片,我这里有四张所以大小为4。
private:
HICON m_icon[4];
2)在项目文件下的res目录中添加图片。
3)然后在资源视图中选择icon目录,右击属性添加资源,将刚刚的四个图片选择导入。
4)在框架类的构造函数加载图标。
CMainFrame::CMainFrame()
{
m_icon[0] = AfxGetApp()->LoadIconW(IDI_ICON1);
m_icon[1] = AfxGetApp()->LoadIconW(IDI_ICON2);
m_icon[2] = AfxGetApp()->LoadIconW(IDI_ICON3);
m_icon[3] = AfxGetApp()->LoadIconW(IDI_ICON4);
}
5)在OnCreate设置定时器。添加一行代码即可。
SetTimer(1, 500, NULL);
6)添加定时器回调函数并实现代码。右击框架属性找到定时器的信号Add即可。
void CMainFrame::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
static int i = 0;
SetClassLong(m_hWnd, GCL_HICON, (LONG)m_icon[i]);//参2代表类标题为图标icon
i++;
if (i == 4) {
i = 0;
}
CFrameWnd::OnTimer(nIDEvent);
}
结果,图标不断变化。