网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
VC++任务栏图标的实现
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
考在线帮助
DECLARE_DYNAMIC(CSystemIcon)
};
#endif
/////////////////////////////////////////////////////////////////////////////
b、CsystemIcon类.CPP源文件:
/////////////////////////////////////////////////////////////////////////////
// SystemIcon.cpp : implementation file
#include "stdafx.h"
#include "SystemIcon.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE = __FILE__;
#endif
IMPLEMENT_DYNAMIC(CSystemIcon, CObject)
/////////////////////////////////////////////////////////////////////////////
CSystemIcon::CSystemIcon()
memset(&m_tnd, 0, sizeof(m_tnd));
m_bEnabled = FALSE;
m_bHidden = FALSE;
CSystemIcon::CSystemIcon(CWnd* pWnd, UINT uCallbackMessage, LPCTSTR szToolTip,
HICON icon, UINT uID)
Create(pWnd, uCallbackMessage, szToolTip, icon, uID);
m_bHidden = FALSE;
BOOL CSystemIcon::Create(CWnd* pWnd, UINT uCallbackMessage, LPCTSTR szToolTip,
HICON icon, UINT uID)
//文件只能使用在WINDOW 95以上的版本中
VERIFY(m_bEnabled = ( GetVersion() & 0xff ) >= 4);
if (!m_bEnabled) return FALSE;
//确认通知窗口有效
VERIFY(m_bEnabled = (pWnd && ::IsWindow(pWnd->GetSafeHwnd())));
if (!m_bEnabled) return FALSE;
//确认自定义消息大于WM_USER
ASSERT(uCallbackMessage >= WM_USER);
//确定提示文本长度小于64
ASSERT(_tcslen(szToolTip) <= 64);
//定义NOTIFYICONDATA结构的数据项
m_tnd.cbSize = sizeof(NOTIFYICONDATA);
m_tnd.hWnd = pWnd->GetSafeHwnd();
m_tnd.uID = uID;
m_tnd.hIcon = icon;
m_tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
m_tnd.uCallbackMessage = uCallbackMessage;
strcpy (m_tnd.szTip, szToolTip);
//设置图标
VERIFY(m_bEnabled = Shell_NotifyIcon(NIM_ADD, &m_tnd));
return m_bEnabled;
CSystemIcon::~CSystemIcon()
DeleteIcon();
/////////////////////////////////////////////////////////////////////////////
void CSystemIcon::DeleteIcon()
if (!m_bEnabled) return;
m_tnd.uFlags = 0;
Shell_NotifyIcon(NIM_DELETE, &m_tnd);
m_bEnabled = FALSE;
void CSystemIcon::HideIcon()
if (m_bEnabled && !m_bHidden) {
m_tnd.uFlags = NIF_ICON;
Shell_NotifyIcon (NIM_DELETE, &m_tnd);
m_bHidden = TRUE;
void CSystemIcon::ShowIcon()
if (m_bEnabled && m_bHidden) {
m_tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
Shell_NotifyIcon(NIM_ADD, &m_tnd);
m_bHidden = FALSE;
BOOL CSystemIcon::SetIcon(HICON hIcon)
if (!m_bEnabled) return FALSE;
m_tnd.uFlags = NIF_ICON;
m_tnd.hIcon = hIcon;
return Shell_NotifyIcon(NIM_MODIFY, &m_tnd);
BOOL CSystemIcon::SetIcon(LPCTSTR lpszIconName)
HICON hIcon = AfxGetApp()->LoadIcon(lpszIconName);
return SetIcon(hIcon);
BOOL CSystemIcon::SetIcon(UINT nIDResource)
HICON hIcon = AfxGetApp()->LoadIcon(nIDResource);
return SetIcon(hIcon);
BOOL CSystemIcon::SetStandardIcon(LPCTSTR lpIconName)
HICON hIcon = LoadIcon(NULL, lpIconName);
return SetIcon(hIcon);
BOOL CSystemIcon::SetStandardIcon(UINT nIDResource)
HICON hIcon = LoadIcon(NULL, MAKEINTRESOURCE(nIDResource));
return SetIcon(hIcon);
HICON CSystemIcon::GetIcon() const
HICON hIcon = NULL;
if (m_bEnabled)
hIcon = m_tnd.hIcon;
retur
  • 下一篇资讯: VC自定义对话框背景
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号