程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 推薦一個簡單的托盤類

推薦一個簡單的托盤類

編輯:關於VC++

有的網友開發了自己的托盤類,實現起來略微煩瑣。在這裡我向大家推薦一個實現簡單而十分有效的托盤類(是我在一本書中學來的)。

1、把TrayIcon.cpp和TrayIcon.cpp拷貝到你的項目目錄,並添加到項目中。

2、在DemoDlg.h中加入#include “TrayIcon.h”

3、通過類向導向類CDemoDlg添加成員變量CTrayIcon m_CTrayIcon;

4、建立菜單資源,使其ID為:IDR_DEMO,設計菜單:

向demo1和exit添加事件處理程序:

void CDemoDlg::OnFileDemo1()
{
  ShowWindow(SW_SHOW);
  m_TrayIcon.RemoveIcon();
}
  
void CDemoDlg::OnFileExit()
{
  m_TrayIcon.RemoveIcon();
  OnCancel();
}

5、在DemoDlg.cpp中自定義消息 #define WM_ICON_NOTIFY WM_USER+10,並在聲明消息處聲明消息處理函數:

BEGIN_MESSAGE_MAP(CDemoDlg, CDialog)
  ......
  ON_MESSAGE(WM_ICON_NOTIFY, OnTrayNotification)
  ……
END_MESSAGE_MAP()

在類CDemoDlg中增加成員函數:

LRESULT OnTrayNotification(WPARAM wParam,LPARAM lParam);

實現部分:

LRESULT CDemoDlg::OnTrayNotification(WPARAM wParam,LPARAM lParam)
{
  return m_TrayIcon.OnTrayNotification(wParam,lParam);
}

6、在對話框添加“開始”按扭,並雙擊“開始”按扭編輯處理程序:

void CDemoDlg::OnBnClickedButton1()
{
  m_TrayIcon.Create(this,WM_ICON_NOTIFY,"鼠標指向時顯示",m_hIcon,IDR_DEMO); //構造
  ShowWindow(SW_HIDE); //隱藏窗口
}

7、可以靈活使用其它類成員函數。如:SetIcon改變圖標,可以通過Timer消息實現托盤圖標動畫效果。

8、刪除托盤圖標:m_TrayIcon.RemoveIcon();

本文配套源碼

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved