MFC 标题栏动态加载自定义图标
2016-11-07 13:51
411 查看
1、MFC主窗体的OnInitDialog()中默认会添加以下代码:
//CDialog::OnInitDialog();
// TODO: Add extra initialization here
HICON m_hIcon;
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
SetIcon(m_hIcon,TRUE); //设置为大图标
SetIcon(m_hIcon,FALSE);//设置为小图标
//return TRUE;
2、其实LoadIcon支持传入相对或绝对路径的本地ICON文件,只是这个接口不知道什么时候已经停止使用,所以一直调用失败,导致原来默认的图标也消失了;
m_hIcon = AfxGetApp()->LoadIcon(_T("TestIcon.ico"));
3、通过LoadIcon的百度百科可以查阅到,该接口已经由LoadImage取代,无法实现动态加载ICON功能,故一直尝试失败,正确调用示例如下:
m_hIcon = (HICON)::LoadImage(NULL,_T("TestIcon.ico"),
IMAGE_ICON, 0, 0, LR_LOADFROMFILE);
OK,完美解决,这样每次需要修改客户程序版本,就不需要重新编译程序,而是由客户替换工作目录下ICON文件即可,节省了沟通和编译的时间与精力,同时也给予客户最大的修改权限。
项目需要MFC的自定义加载图标文件,不过主要做的UI框架可能是QT和BKWIN,有时间还得研究下这两个框架下怎么动态加载图标文件和标题栏标题。
//CDialog::OnInitDialog();
// TODO: Add extra initialization here
HICON m_hIcon;
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
SetIcon(m_hIcon,TRUE); //设置为大图标
SetIcon(m_hIcon,FALSE);//设置为小图标
//return TRUE;
2、其实LoadIcon支持传入相对或绝对路径的本地ICON文件,只是这个接口不知道什么时候已经停止使用,所以一直调用失败,导致原来默认的图标也消失了;
m_hIcon = AfxGetApp()->LoadIcon(_T("TestIcon.ico"));
3、通过LoadIcon的百度百科可以查阅到,该接口已经由LoadImage取代,无法实现动态加载ICON功能,故一直尝试失败,正确调用示例如下:
m_hIcon = (HICON)::LoadImage(NULL,_T("TestIcon.ico"),
IMAGE_ICON, 0, 0, LR_LOADFROMFILE);
OK,完美解决,这样每次需要修改客户程序版本,就不需要重新编译程序,而是由客户替换工作目录下ICON文件即可,节省了沟通和编译的时间与精力,同时也给予客户最大的修改权限。
项目需要MFC的自定义加载图标文件,不过主要做的UI框架可能是QT和BKWIN,有时间还得研究下这两个框架下怎么动态加载图标文件和标题栏标题。
相关文章推荐
- MFC学习之 标题栏加载图标
- MFC学习之 标题栏加载图标
- MFC下加载自定义真彩色工具条
- 修改MFC标题栏上的图标
- c# 中treeview 树节点图标的动态加载,及选中时图标改变
- 修改MFC标题栏上的图标和修改MFC窗口标题
- 关于VC/MFC不导入资源文件 动态加载GIF动画文件
- java 应用程序 标题栏图标 的 自定义 方法
- Android--自定义标题栏之显示网页加载进度
- Flex 动态加载图标(转)
- 修改MFC标题栏上的图标和修改MFC窗口标题
- silverlight 动态加载树形菜单[带图标],方法一
- 应用程序配置和动态加载7----自定义应用程序配置
- 修改MFC标题栏上的图标和修改MFC窗口标题
- c# 中treeview 树节点图标的动态加载,及选中时图标改变
- c# 中treeview 树节点图标的动态加载,及选中时图标改变
- 自定义annotation的运行时动态加载
- 【转】修改MFC标题栏上的图标和修改MFC窗口标题
- Asp.net动态加载用户自定义控件,并转换成HTML代码
- Flex实现自定义ToolTip 动态加载