構造体
定数定義
CL本体とプラグイン間でやり取りする関数が使用する定数です。
// 実行操作時のマウスクリックボタンフラグ
#define CPI_EXEC_LBUTTON 0 // 左ボタンクリック
#define CPI_EXEC_RBUTTON 1 // 右ボタンクリック
#define CPI_EXEC_MBUTTON 2 // 中ボタンクリック
// 実行操作発生位置
#define CPI_EXEC_BUTTON 0 // ランチャーアイコンボタンにて実行
#define CPI_EXEC_MENU 1 // ランチャーメニューにて実行
// プラグインの属性
#define CPI_DEFAULT 0 // CL本体に描画を任せた通常のアイテム
#define CPI_OWNERDRAW 1 // オーナードローアイテム
#define CPI_HIDERMENU 2 // 右クリックメニュー(設定メニュー)に表示しない (※CL v2.10以降)
// オーナードローアイテムの描画状態
#define CPI_OD_DEFAULT 0 // 通常状態
#define CPI_OD_ONMOUSE 1 // オンマウス状態
#define CPI_OD_BTNDOWN 2 // ボタンダウン状態
// メニューアイテムの属性
#define CPI_MF_DEFAULT 0 // CL本体に描画を任せた通常のメニューアイテム
#define CPI_MF_OWNERDRAW 1 // オーナードローメニューアイテム
#define CPI_MF_SEPARATOR 2 // 区切り
#define CPI_MF_POPUP 4 // 配下にサブメニューアイテムを持つメニューアイテム
CPIINFO
プラグインのバージョン情報等を格納する為の構造体です。
typedef struct _CPIINFO {
int flag; // プラグインの属性
int interval; // プラグイン更新間隔
char name[64]; // プラグイン名称
char version[64]; // プラグインバージョン
char maker[64]; // プラグイン製作者名
char info[512]; // プラグインの説明
} CPIINFO, *LPCPIINFO;
解説
flag
プラグインの属性を
フラグ の組み合わせで設定します。
フラグ | 内容 |
CPI_DEFAULT | CL本体にボタンの描画を任せます。 |
CPI_OWNERDRAW | プラグイン側でボタンを描画します。 |
CPI_HIDERMENU | 右クリックメニュー(設定メニュー)に表示しないアイテムになります。 |
interval
プラグインに定期的に処理をさせる場合、処理をさせる間隔をミリ秒で設定します。
設定した間隔で
CPI_Updt が呼ばれます。
最小間隔は100ミリ秒です。100ミリ秒以下を設定しても、100ミリ秒でまるめられます。
定期的な処理をしない場合は、 0 を設定してください。
name
プラグインの名称を設定します。
version
プラグインのバージョンを設定します。
maker
プラグインの製作者名を設定します。
info
プラグインの説明を設定します。
CLMENUITEM
プラグインが登録するメニューアイテムの情報を格納する為の構造体です。
typedef struct _CLMENUITEM {
int flag; // メニューアイテムの属性
int parentid; // 親のメニューアイテムID
int menuid; // メニューアイテムID
char name[64]; // メニューアイテム表示名称
int icoidx; // メニューアイテム表示用アイコンインデックス
HICON hicon; // メニューアイテム表示用アイコンハンドル
int width; // メニューアイテムの幅
int height; // メニューアイテムの高さ
} CLMENUITEM, *LPCLMENUITEM;
解説
flag
メニューアイテムの属性を
フラグ の組み合わせで設定します。
フラグ | 内容 |
CPI_MF_DEFAULT | CL本体にメニューアイテムの描画を任せます。 |
CPI_MF_OWNERDRAW | プラグイン側でメニューアイテムを描画します。 |
CPI_MF_SEPARATOR | セパレータ(区切り)になります。 |
CPI_MF_POPUP | 配下にサブメニューアイテムを持ちます。 |
parentid
サブメニューアイテムの場合、親のメニューアイテムIDを設定します。
トップレベルのメニューアイテムの場合は、 -1 を設定してください。
menuid
メニューアイテムを識別するためのIDを 0 以上の値で設定します。
他のメニューアイテムと同じ値を設定することが可能ですが、メニューアイテム属性に CPI_MF_POPUP を設定した親メニューアイテムの場合は、他と同じ値を設定しないでください。
name
メニューアイテム描画に使う名称を設定します。
icoidx
メニューアイテム描画に使うアイコンを、プラグインファイル内の 0 から始まるアイコンインデックスで設定します。
プラグインアイテムがアイコンを持たない場合や、アイコンが見つからない場合はCL本体がデフォルトのアイコンを描画します。
hicon
メニューアイテム描画に使うアイコンを、アイコンハンドルで指定する場合に設定します。
アイコンハンドルで指定しない場合は、 NULL を設定してください。
アイコンハンドルが指定された場合、CL本体側では CopyIcon APIによりコピーします。
プラグイン側で確保したアイコンは、プラグイン側で開放するようにしてください。
この値が NULL 以外の場合、 icoidx は無視されます。
width
メニューアイテム属性に CPI_MF_OWNERDRAW を設定したオーナードローメニューアイテムの場合、メニューアイテムの幅を設定します。
オーナードローメニューでない場合、この値は無視されます。
height
メニューアイテム属性に CPI_MF_OWNERDRAW を設定したオーナードローメニューアイテムの場合、メニューアイテムの高さを設定します。
オーナードローメニューでない場合、この値は無視されます。