实现图标的动态变换:

1:准备3个图标资源;

2:在框架类中定义1个图标类的数组,包含3个元素;

3:在OnCreate()函数中加载图标资源

        m_hicons[0]=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));
	m_hicons[1]=LoadIcon(theApp.m_hInstance,MAKEINTRESOURCE(IDI_ICON2));
	m_hicons[2]=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON3));
//MAKEINTRESOURCE(IDI_NAME)表示的是将一个整型转化为资源类型
//SetClassLong(m_hWnd,GCL_HICON,(LONG)m_hicons[0]);

将第一个图标资源设置为界面启动时的图标画面

SetTimer(1,1000,NULL);//设置一个时间触发器,每隔1000毫秒发送一个WM_TIMER消息;

 

然后增加一个WM_TIMER消息处理函数

void CMainFrame::OnTimer(UINT nIDEvent) 
{
	
	static int index=1;
        SetClassLong(m_hWnd,GCL_HICON,(LONG)m_hicons[index]);
        index=++index%3;
	CFrameWnd::OnTimer(nIDEvent);
}



你可能感兴趣的:(windows之mfc学习)