窗口最大或最小化时动态更改应用程序图标

来源:互联网 发布:2017网络音乐排行榜 编辑:程序博客网 时间:2024/05/14 02:23

窗口最大或最小化时动态更改应用程序图标

 

判断窗口是最小化,最大化还是正常态利用窗口的WM_SIZE消息来获取窗口状态的消息,WM_SIZE消息有五种值其中最常用的三种分别是:

SIZE_RESTORED:窗口被还原时产生的消息。

SIZE_MINIMIZED:窗口最小化时产生的消息。

SIZE_MAXIMIZED:窗口最大化时产生的消息。

 

更改应用程序图标则用到了CWnd::SetIcon()函数。可以先用CWinApp::LoadIcon()从应用程序资源中载入图标。具体实现代码:

 

动态更改应用程序图标实例:

1.新建SDI文档,把要更改的图标加入到资源,然后通过向导添加一个WM_SIZE消息的处理函数。
2.具体做法是点击菜单栏中的"查看"->"建立类向导..."
3.在Message Maps页中的"Class name"项选择CMainFrame,然后Message中选择WM_SIZE,然后单击"Add Function"按钮.
4.这样就把处理WM_SIZE消息的函数建立起来了,我们不要急着关闭向导,单击按钮"Edit Code"来进行具体的功能实现。
5.进入到代码页面,我们可以看到处理WM_SIZE消息的函数框架,如下:
   void CMainFrame::OnSize(UINT nType, int cx, int cy)
  {
    CFrameWnd::OnSize(nType, cx, cy);
 
    // TODO: Add your message handler code here
  }
6.现在我们来实现,当窗口最小化时弹出提示信息。我们可以在OnSize函数中加入如下代码:

原创粉丝点击