TNB Library
|
アイコン管理クラス [詳解]
#include <TnbIconManager.h>
公開型 | |
enum | ESystemIconId { E_APPLICATION = (INT_PTR)(IDI_APPLICATION) , E_ASTERISK = (INT_PTR)(IDI_ASTERISK) , E_ERROR = (INT_PTR)(IDI_ERROR) , E_EXCLAMATION = (INT_PTR)(IDI_EXCLAMATION) , E_HAND = (INT_PTR)(IDI_HAND) , E_INFORMATION = (INT_PTR)(IDI_INFORMATION) , E_QUESTION = (INT_PTR)(IDI_QUESTION) , E_WARNING = (INT_PTR)(IDI_WARNING) , E_WINLOGO = (INT_PTR)(IDI_WINLOGO) } |
システムのアイコンID値 [詳解] | |
公開メンバ関数 | |
void | Attach (HICON hIcon) |
[指定] ハンドル管理. [詳解] | |
CIconManager (void) | |
コンストラクタ [詳解] | |
bool | Destroy (HICON hIcon) |
[開放] ハンドル開放. [詳解] | |
bool | Destroy (int iIconResourceId) |
[開放] ハンドル開放. [詳解] | |
void | DestroyAll (void) |
[開放] 全ハンドル開放. [詳解] | |
HICON | Extract (LPCTSTR lpszFile, UINT iconIndex) |
[取得] ファイルから抽出. [詳解] | |
INT_PTR | ExtractNumber (LPCTSTR lpszFile) |
[取得] ファイルから抽出可能数. [詳解] | |
HICON | LoadResource (int iIconResourceId) |
[取得] リソースから取得 [詳解] | |
HICON | LoadResource (int iIconResourceId, HINSTANCE hIns) |
[取得] リソースから取得 [詳解] | |
HICON | LoadSystem (ESystemIconId systemId) |
[取得] システムから取得 [詳解] | |
HICON | operator[] (int iIconResourceId) |
[取得] リソースから取得 [詳解] | |
virtual | ~CIconManager (void) |
デストラクタ [詳解] | |
限定公開メンバ関数 | |
void | m_Destroy (HICON h) |
[破棄] ハンドル破棄. [詳解] | |
アイコン管理クラス
本クラスを使用してアイコンをロードすると、開放すべきアイコンの開放漏れを防ぎます。 また、リソースIDとハンドルを関連付けて記憶しておくため、キャッシュ的な使い方が可能です。 カーソルもアイコンと同様に本クラスで管理することが可能です。
CIconManager m_icon; ; void foo1(){ HICON h1 = m_icon.LoadResorce(-IDI_MAIN); //小さいアイコンハンドル ; HICON h2 = m_icon[-IDI_MAIN]; // さっきLoadしたハンドルが得られます。 ; } |
TnbIconManager.h の 52 行目に定義があります。
enum ESystemIconId |
システムのアイコンID値
TnbIconManager.h の 105 行目に定義があります。
CIconManager | ( | void | ) |
コンストラクタ
TnbIconManager.h の 121 行目に定義があります。
|
virtual |
デストラクタ
TnbIconManager.h の 126 行目に定義があります。
void Attach | ( | HICON | hIcon | ) |
[指定] ハンドル管理.
指定のハンドルを本インスタンスで管理するようにします。
hIcon | アイコンハンドル。 ここで指定したアイコンハンドルは APIの DestroyIcon() を使用しないでください。 |
TnbIconManager.h の 289 行目に定義があります。
bool Destroy | ( | HICON | hIcon | ) |
[開放] ハンドル開放.
hIcon | 本インスタンスで管理しているアイコンハンドル。 |
true | 成功。 |
false | 失敗(本インスタンスで管理していないハンドルが指定された)。 |
TnbIconManager.h の 171 行目に定義があります。
bool Destroy | ( | int | iIconResourceId | ) |
[開放] ハンドル開放.
iIconResourceId | 本インスタンスでロードしたリソースID。 |
true | 成功。 |
false | 失敗(本インスタンスで管理していないリソースIDが指定された)。 |
TnbIconManager.h の 156 行目に定義があります。
void DestroyAll | ( | void | ) |
HICON Extract | ( | LPCTSTR | lpszFile, |
UINT | iconIndex | ||
) |
[取得] ファイルから抽出.
lpszFile | ファイル名。ファイルは、 EXE DLL ICO ファイルが指定できます。 |
iconIndex | インデックス。 ExtractNumber() で得られる「アイコン数」未満を指定できます。 |
NULL以外 | アイコンハンドル。 APIの DestroyIcon() は使用しないでください。 |
NULL | エラー(存在しない) |
TnbIconManager.h の 271 行目に定義があります。
INT_PTR ExtractNumber | ( | LPCTSTR | lpszFile | ) |
[取得] ファイルから抽出可能数.
lpszFile | ファイル名。ファイルは、 EXE DLL ICO ファイルが指定できます。 |
1以上 | ファイル内のアイコン数。 |
0 | エラー(存在しない) |
TnbIconManager.h の 257 行目に定義があります。
HICON LoadResource | ( | int | iIconResourceId | ) |
[取得] リソースから取得
iIconResourceId | アイコンリソースID。 ×-1 した値を指定することで、 小さい ICON をロードできます。 |
NULL以外 | アイコンハンドル。 APIの DestroyIcon() は使用しないでください。 |
NULL | エラー(存在しない) |
TnbIconManager.h の 219 行目に定義があります。
HICON LoadResource | ( | int | iIconResourceId, |
HINSTANCE | hIns | ||
) |
[取得] リソースから取得
iIconResourceId | アイコンリソースID。 ×-1 した値を指定することで、 小さい ICON をロードできます。 |
hIns | インスタンス。 |
NULL以外 | アイコンハンドル。 APIの DestroyIcon() は使用しないでください。 |
NULL | エラー(存在しない) |
TnbIconManager.h の 198 行目に定義があります。
HICON LoadSystem | ( | ESystemIconId | systemId | ) |
[取得] システムから取得
systemId | システムアイコンID。 |
NULL以外 | アイコンハンドル。 APIの DestroyIcon() は使用しないでください。 |
NULL | エラー(存在しない) |
TnbIconManager.h の 244 行目に定義があります。
|
protected |
HICON operator[] | ( | int | iIconResourceId | ) |
[取得] リソースから取得
iIconResourceId | アイコンリソースID |
NULL以外 | アイコンハンドル。 APIの DestroyIcon() は使用しないでください。 |
NULL | エラー(存在しない) |
TnbIconManager.h の 231 行目に定義があります。