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

推荐订阅源

博客园 - Franky
D
Docker
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
博客园 - 聂微东
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
爱范儿
爱范儿
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
Recent Announcements
Recent Announcements
U
Unit 42
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
宝玉的分享
宝玉的分享
量子位
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - 范圣帅

mono+jexus 之连接数据库 mono+jexus 验证码不显示:System.Drawing CentOS安装epel system 函数 tcp/ip协议listen函数中backlog参数的含义与php-fpm的502 Bad Gateway tengine-2.1.0 + lua + base64 tengine-2.1.0 + GraphicsMagick-1.3.20 nginx 反向代理 ArchLinux 下架设PPTPD VPN服务 - 范圣帅 archlinux 下 nignx + php 出现 no input file specified MAMP PRO 下安装 memcache MAC 版本 phpstorm 配置 theme [转]MinGW编译wxWidgets问题 Eclipse 破解ZendStudio 10.1 shell 快速移动,快捷操作 GDI 画出半透明 MFC 常用关闭窗口 Unicode下RegQueryValueEx读取注册表值问题
MFC 中全局变量的使用
范圣帅 · 2013-05-15 · via 博客园 - 范圣帅

一个MFC的程序,有个托盘图标,让每个界面退出的时候都能把他删除掉。于是想把这个做一个全局变量,任何界面退出的时候都 

Shell_NotifyIcon(NIM_DELETE,&tnd);

想到 stdafx.h 是整个MFC都包含的,于是把这个声明放入到 stdafx.cpp 中,然后 stdafx.h 中 extern 一下达到全局变量的作用,因为每个 cpp 都包含了 stdafx.h ,这个全局变量已经引用好了,不用每个页面都去 extern 了。

// stdafx.h

extern NOTIFYICONDATA tnd;

// stdafx.cpp

NOTIFYICONDATA tnd;

 其他页面直接使用:

    lstrcpy(tnd.szTip, _T("酷菠萝客户端正在运行中"));
    tnd.cbSize = sizeof(NOTIFYICONDATA);        //NOTIFYICONDATA结构体大小
    tnd.uID = IDR_MAINFRAME;                        //最小化后显示在托盘的图标的ID
    tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;//指示结构体中有效的成员,依次为表示uCallbackMessage 有效、表示hIcon 有效、表示szTip 有效
    tnd.uCallbackMessage = WM_MY_TRAY_NOTIFICATION;//程序员自定义的消息,当鼠标移动、单击、双击或是其他鼠标事件发生在托盘程序上时,所发送的消息
    tnd.hIcon = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));//所加入图标的句柄

    Shell_NotifyIcon(NIM_ADD,&tnd);