惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

博客园 - 今夜太冷

GPG(GnuPG)入门 Session variables lost after the call of Response.Redirect method c++中POD类型和non-POD类型 关于c++ template的branching和Recursion的一段很好的描述 How do I remove a particular element from an array in JavaScript? Get the client's IP address in socket.io 前端 使用 crypto-js 对数据进行对称加密 C++ delegate的几种方法 boost::make_function_output_iterator报错: C4996 How to copy the contents of std::vector to c-style static array,safely? std::vector push_back报错Access violation Structured Exception Handling Catch a Memory Access Violation in C++ Windows上的字符转换之CP_ACP和CP_OEMCP Initialize a vector in C++ (5 different ways) MFC中使用ATL报错:error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C++ WINDOWS下 wchar_t *和char * 相互转化总结篇 VS2008 编译出错 fatal error C1859: unexpected precompiled header error, simply rerunning the compiler might fix this problem 解析XML出错,无法创建DOMDocument对象
MFC更换窗口图标
今夜太冷 · 2018-09-02 · via 博客园 - 今夜太冷

https://blog.csdn.net/deep_kang/article/details/72722692:

MFC更换图标,图像默认为MFC,主要步骤有三步。

第一步

找到一张图片(坑点:必须为ico文件,不能单纯的改名,否则会出错,我是通过网上在线将一张jpg图片转换成ico文件),放置到项目所在目录的res目录下(我的目录为F:\C++\MFCApplication1\MFCApplication1\res)。

第二步

然后在资源视图右击icon文件夹,添加资源->导入->选择刚才的ico文件,即可自动生成资源ID,默认为IDI_ICON1,修改ID可以参考我另一篇文章MFC创建窗口菜单

第三步

然后将主窗口代码中LoadIcon函数的参数更换成自己设置的ico文件的ID,点击运行即可完成图标的更换。

https://blog.csdn.net/songyimin1208/article/details/54580715

修改左上角的图标和任务栏里图标

   
在对话框构造函数中

1 CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
2     : CDialog(CTestDlg::IDD, pParent)
3 {
4     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
5 }

    改过后:

1 CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
2     : CDialog(CTestDlg::IDD, pParent)
3 {
4     m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
5 }

    将最后的IDR_MAINFRAME改为自己的图标即可,上面改为了IDI_ICON1,更改的图标需要先导入或者添加进资源icon里,将默认的mfc图标换成自己的。修改生成EXE文件图标

方法一:
   
要更改图标,在resource.h中打开之后可以看到各个资源的ID值,一般mfc自动生成的IDR_MAINFRAME128,自己添加的会大于128,顺序后延,编译时默认将ID最小的作为exe的图标,所以只要我们将其改之就可以了,还是上面的对话框,将IDI_ICON1改为128,将IDR_MAINFRAME改为其他的大一点的数不能太大了,因为可能会有其他用处,然后重新rebuild,这时就可以看到exe图标变成了自己的IDI_ICON1的图标了。方法二:
1
、在程序res文件夹下,删除MFC图标文件,加入自己的图标文件;

2、在图标IDR_MAINFRAME的属性对话框中,修改File name路径为自己的图标文件。

注:(1)一定要先删除原文件,否则会把你的图标文件覆盖掉;

(2)完成后在资源视图中可能发现还是原来的MFC图标,但编译后exe文件的图标已经变成自己的了。方法三:
   
.rc文件中,可以修改默认图标路径来修改生成EXE文件图标。

1 IDR_MAINFRAME           ICON                    "res\\Test.ico"

    修改后:

1 IDR_MAINFRAME           ICON                    "res\\Test1.ico"


修改托盘中EXE文件图标
可以用
NOTIFYICONDATA来实现。

 1       NOTIFYICONDATA _tnd;
 2     _tnd.cbSize=sizeof(NOTIFYICONDATA);
 3     _tnd.hWnd  = this->GetSafeHwnd();
 4     _tnd.uID              = 0;
 5     _tnd.uFlags              = NIF_MESSAGE | NIF_ICON | NIF_TIP | NIF_INFO;
 6     _tnd.dwInfoFlags      = NIIF_INFO; // add an icon to a balloon ToolTip
 7     _tnd.uTimeout = uTimeout;
 8 
 9     CString sStatusMsg = szMsg;
10 
11     if ("修改条件")
12     {
13         _tnd.hIcon = theApp.LoadIcon(IDI_SUCCESSLOGIN);
14     }