Visual C++图标使用详细代码

2022-07-15 13:13:23   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《Visual C++图标使用详细代码》,欢迎阅读!
C++,图标,代码,使用,Visual


【例Ex_Icon】图标使用

MFC AppWizard(exe)创建一个默认的单文档应用程序Ex_Icon 添加4个图标资源,单击新建设备图像按钮

选择小的16 x 16设备类型,保留图标资源默认的ID号:

IDI_ICON1~ IDI_ICON4制作如图12.5所示的图标。

CMainFrame类添加一个成员函数ChangeIcon,用来切换应用程序的图标。该函数的代码如下:

void CMainFrame::ChangeIcon(UINT nIconID)

{ HICON hIconNew = AfxGetApp()->LoadIcon(nIconID); HICON hIconOld = (HICON)GetClassLong(m_hWnd, GCL_HICON); if (hIconNew != hIconOld){ DestroyIcon(hIconOld); SetClassLong(m_hWnd, GCL_HICON, (long)hIconNew); RedrawWindow(); // 重绘窗口 }

}



12.5 创建的四个图标

CMainFrame::OnCreate函数的最后添加计时器设置代码:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; //... SetTimer(1, 500, NULL); return 0; }

MFC ClassWizardCMainFrame类添加WM_TIMER的消息映射函数,并增加下列代码:

void CMainFrame::OnTimer(UINT nIDEvent) { static int icons[] = { IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4}; static int index = 0; ChangeIcon(icons[index]); index++; if (index>3) index = 0; CFrameWnd::OnTimer(nIDEvent); }

MFC ClassWizardCMainFrame类添加WM_DESTROY的消息映射函数,并增加下列代码:

void CMainFrame::OnDestroy() { CFrameWnd::OnDestroy(); KillTimer(1); }

编译并运行。可以看到任务栏上的按钮以及应用程序的标题栏上4个图标循环显示的动态效果,显示速度为每秒2帧。




本文来源:https://www.wddqxz.cn/247d5ea376a20029bc642d68.html

相关推荐