为对话框在标题栏和任务栏关联图标

        在写数据库程序的时候经常会用到登陆界面,登陆界面往往以一个临时对话框形式呈现。例如,程序的操作大多都基于单文档实现,但是需要在初始化程序之前调用一个对话框作为登陆界面。我通常将它在InitInstance()函数开始时候显示,然后判断输入的账号密码是否正确。如果正确就继续执行程序;如果错误就提示用户密码错误;如果用户单击取消按钮就调用exit(0)退出程序。

        这时候遇到了一个问题:你设计好的图标不会在登陆界面的标题栏和任务栏显示出来,当然也不会在你按住ALT + Tab键切换程序的时候显示。意思就是,你设计好了自己的图标,并且替换掉了原先res文件夹中的.ico图标,但是它在登陆界面却没有使用它。下面,我们通过几步操作,实现在登陆界面显示我们替换好的图标。

1、在该对话框类声明中定义一个HICON变量

	HICON m_hIcon;


2、在该对话框类构造函数中添加如下代码

	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);


3、为该对话框重写OnInitDialog()函数,并在其中添加如下代码

	// TODO:  在此添加额外的初始化
	SetIcon(m_hIcon, TRUE);		// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标


至于SetIcon()函数的详细介绍,请参考下面一篇文章:

http://blog.163.com/xxqi1229@126/blog/static/131653470201049102325939/

原文地址:https://www.cnblogs.com/zcube/p/4194550.html