|
TNB Library
|
アイコン管理クラス [詳解]
#include <TnbIconManager.h>
CIconManager の継承関係図公開型 | |
| 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 行目に定義があります。