| 怎么自定义程序图标? |
| [ 来源:ITWENKU 时间:2006-9-22 9:58:20 | 浏览:250人次
] |
| |
|
我导入一个ico资源,在对话框的构造函数里调用了AfxGetApp()->LoadIcon(),但这只能修改标题栏上的图标。怎样把程序的图标换成自己想要的?
删除IDR_MAINFRAME 插入新的图标命名为IDR_MAINFRAME
1.直接修改IDR_MAINFRAME
2. 在CMainFrm.h中定义一个HICON m_hIcon;
在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); return TRUE; }
3.在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {
SetIcon(m_hIcon, TRUE);// Set big icon SetIcon(m_hIcon, FALSE);// Set small icon
return 0; }
我试了一下,果然可以。可是为什么用新添加的资源图标不行呢?难道IDR_MAINFRAME是保留资源?
换图标后重新生成工程
因为 (1)程序运行的时候,就是LoadIcon(IDR_MAINFRAME) 所以程序运行显示的图标是IDR_MAINFRAME
(2)IDR_MAINFRAME数字很小,(一般是IDR_MAINFRAME=128) 所以它是你的程序的第一个图标, 所以操作系统显示文件图标也显示它.
注意,图标至少需要两个规格: 16*16 和 32*32 最好还有 48*48
|
|
 |
推荐文章 |
|