TNB Library
クラス | 公開型 | 公開メンバ関数 | 全メンバ一覧
CTasktrayIcon クラス

タスクトレイアイコン管理クラス [詳解]

#include <TnbTasktrayIcon.h>

+ CTasktrayIcon の継承関係図

クラス

struct  IListener
 タスクバーアイコン管理のリスナーインターフェーズ [詳解]
 

公開型

enum  EInfoIcon {
  EII_None = 0x00000000 , EII_Info = 0x00000001 , EII_Warning = 0x00000002 , EII_Error = 0x00000003 ,
  EII_NsNone = 0x00000010 , EII_NsInfo = 0x00000011 , EII_NsWarning = 0x00000012 , EII_NsError = 0x00000013
}
 インフォメーションアイコン種 [詳解]
 

公開メンバ関数

bool Create (HWND hWnd, HICON hIcon, LPCTSTR lpTip=NULL)
 [作成] アイコン作成 [詳解]
 
 CTasktrayIcon (UINT uID=0)
 コンストラクタ [詳解]
 
void Hide (void)
 [削除] アイコン消去 [詳解]
 
void HideInformation (void)
 [設定] インフォメーション非表示 [詳解]
 
void ModifyIcon (HICON hIcon)
 [設定] アイコン変更 [詳解]
 
void ModifyTip (LPCTSTR lpTip)
 [設定] チップ内容変更 [詳解]
 
bool RelayEvent (UINT message, WPARAM wParam, LPARAM lParam)
 [処理] イベント中継 [詳解]
 
void SetListener (IListener *piListener)
 [登録] リスナー登録 [詳解]
 
void SetMenu (HMENU h=NULL)
 [設定] メニュー変更(ハンドル指定) [詳解]
 
void SetMenu (int id=0)
 [設定] メニュー変更(ID指定) [詳解]
 
void ShowInformation (EInfoIcon eIcon, LPCTSTR lpszTitle, LPCTSTR lpszMessage, DWORD dwTimeout=0)
 [設定] インフォメーション表示 [詳解]
 
DWORD ShowMenu (const POINT &po, UINT flag=TPM_LEFTALIGN|TPM_RIGHTBUTTON)
 [表示] メニュー表示. [詳解]
 
virtual ~CTasktrayIcon (void)
 デストラクタ [詳解]
 

詳解

タスクトレイアイコン管理クラス

アイコンのクリックは、登録したリスナー( CTasktrayIcon::IListener )
に通知されます。
必須処理
アイコンのクリックをリッスンするには、親のWindowProc をフックし、 本クラスの RelayEvent() をコールする必要が有ります。
LRESULT CXxxxxDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if ( m_tasktrayicon.RelayEvent(message, wParam, lParam) )
{
return 0;
}
return CDialog::WindowProc(message, wParam, lParam);
}
覚え書き
メニューは最初のポップアップメニュー以下が使用されます。
Information() を使用するには、プロジェクトでシンボル _WIN32_IE に 0x0500 以上を指定しておく必要が有ります。
必要ファイル
TnbTasktrayIcon.h
日付
06/04/17 新規
06/06/01 Explorerがリブートした時にICON再登録するようにした。
06/06/05 MENU IDを登録すると、メニューを自動的に出すようにした。
06/06/20 Information() メソッド、追加。
06/07/25 HMENU も登録できるようにした。
08/04/04 HideInformation を追加。

TnbTasktrayIcon.h64 行目に定義があります。

列挙型メンバ詳解

◆ EInfoIcon

enum EInfoIcon

インフォメーションアイコン種

列挙値
EII_None 

アイコンなし

EII_Info 

!マーク

EII_Warning 

警告マーク

EII_Error 

エラーマーク

EII_NsNone 

アイコンなし(音なし)

EII_NsInfo 

!マーク(音なし)

EII_NsWarning 

警告マーク(音なし)

EII_NsError 

エラーマーク(音なし)

TnbTasktrayIcon.h286 行目に定義があります。

構築子と解体子

◆ CTasktrayIcon()

CTasktrayIcon ( UINT  uID = 0)
explicit

コンストラクタ

引数
uID同じアプリで複数のタスクトレイアイコンを使わないなら省略できます。 使う場合、インスタンスごとに同じ数字にならないように指定します。

TnbTasktrayIcon.h105 行目に定義があります。

◆ ~CTasktrayIcon()

virtual ~CTasktrayIcon ( void  )
virtual

デストラクタ

TnbTasktrayIcon.h118 行目に定義があります。

関数詳解

◆ Create()

bool Create ( HWND  hWnd,
HICON  hIcon,
LPCTSTR  lpTip = NULL 
)

[作成] アイコン作成

引数
hWnd通知するウィンドウハンドル
hIcon表示するICON
lpTip表示するチップ内容(省略可能)
戻り値
true成功
false失敗

TnbTasktrayIcon.h211 行目に定義があります。

◆ Hide()

void Hide ( void  )

[削除] アイコン消去

TnbTasktrayIcon.h225 行目に定義があります。

◆ HideInformation()

void HideInformation ( void  )

[設定] インフォメーション非表示

覚え書き
本メソッドを使用するには、プロジェクトでシンボル _WIN32_IE に 0x0500 以上を指定しておく必要が有ります。

TnbTasktrayIcon.h330 行目に定義があります。

◆ ModifyIcon()

void ModifyIcon ( HICON  hIcon)

[設定] アイコン変更

引数
hIconアイコン

TnbTasktrayIcon.h260 行目に定義があります。

◆ ModifyTip()

void ModifyTip ( LPCTSTR  lpTip)

[設定] チップ内容変更

引数
lpTip文字列

TnbTasktrayIcon.h274 行目に定義があります。

◆ RelayEvent()

bool RelayEvent ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

[処理] イベント中継

覚え書き
親ウィンドウの WindowProc() からメッセージを流してください。
引数
messageメッセージ
wParamWPARAM
lParamLPARAM
戻り値
true処理実施。親ウィンドウのメッセージ処理は行う必要がありません。
false処理なし。親ウィンドウのメッセージ処理を行ってください。

TnbTasktrayIcon.h142 行目に定義があります。

◆ SetListener()

void SetListener ( IListener piListener)

[登録] リスナー登録

覚え書き
アイコンに対してのクリックイベントを拾うにはリスナーを登録します。
引数
piListenerリスナー

TnbTasktrayIcon.h128 行目に定義があります。

◆ SetMenu() [1/2]

void SetMenu ( HMENU  h = NULL)

[設定] メニュー変更(ハンドル指定)

覚え書き
これでハンドルを指定するとID指定は無効になります。
引数
hメニューのハンドル

TnbTasktrayIcon.h250 行目に定義があります。

◆ SetMenu() [2/2]

void SetMenu ( int  id = 0)

[設定] メニュー変更(ID指定)

覚え書き
これでIDを指定するとハンドル指定は無効になります。
引数
idメニューのID

TnbTasktrayIcon.h239 行目に定義があります。

◆ ShowInformation()

void ShowInformation ( EInfoIcon  eIcon,
LPCTSTR  lpszTitle,
LPCTSTR  lpszMessage,
DWORD  dwTimeout = 0 
)

[設定] インフォメーション表示

覚え書き
本メソッドを使用するには、プロジェクトでシンボル _WIN32_IE に 0x0500 以上を指定しておく必要が有ります。
引数
eIconアイコンの種類を EInfoIcon から指定します。
lpszTitleタイトル文字。
lpszMessage内容。
dwTimeoutインフォメーションの閉じる時間(ms)

TnbTasktrayIcon.h307 行目に定義があります。

◆ ShowMenu()

DWORD ShowMenu ( const POINT &  po,
UINT  flag = TPM_LEFTALIGN | TPM_RIGHTBUTTON 
)

[表示] メニュー表示.

覚え書き
登録してあるメニューを表示します。
引数
po座標
flagフラグ。 TPM_LEFTALIGN など。
戻り値
0以外メニュー表示成功。 フラグに TPM_RETURNCMD を指定していた場合、選択されたメニューID。
0メニュー表示失敗。 フラグに TPM_RETURNCMD を指定していた場合、未選択の場合も0になる。

TnbTasktrayIcon.h355 行目に定義があります。