EternalWindows
コントロールパネル / cplファイルの環境設定

今回は、cplファイルを作成するための環境設定を行います。 VC 2003 を例に話を進めていきます。

1, VC 2003を起動し、プロジェクトをDLLとして選択する。




2, ソースファイルとdefファイルをプロジェクトに追加する (defファイルは、CPlApplet関数をエクスポートするために必要となります)。



ここまでの手順はDLLの章で紹介していることもあり、特に問題ないと思われます。 defファイルとソースファイルの中身は以下のようにしてください。

;defファイル
LIBRARY	mycpl

EXPORTS
	CPlApplet
続いてソースファイルです。
#include <windows.h>
#include <cpl.h>
#include "resource.h"

LONG APIENTRY CPlApplet(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
{
	switch (uMsg) {

	case CPL_INIT:
		return 1;

	case CPL_GETCOUNT:
		return 1;

	case CPL_INQUIRE:
		break;
	
	case CPL_DBLCLK:
		break;
	
	case CPL_STOP:
		break;
	
	case CPL_EXIT:
		break;

	default:
		break;

	}

	return 0;
}

このソースフィルは、cplファイルを開発するときのプロトタイプとなるでしょう。 cpl.hにはCPLメッセージが定義されているため、必ずインクルードします。 resource.hは、リソーススクリプトの作成と共にプロジェクトに追加されます。 このファイルには各種リソースの識別子が定義されているので、 インクルードしなければなりません。

続いて、リソースの追加を行います。 アイコン、文字列、ダイアログの順で追加していますが、順番は任意です。

3, リソーススクリプトを作成し、アイコンを追加する




上の図のようになったら成功です。 緑の部分にアイコンの絵を描くことになります。 また、アイコンの識別子がIDI_ICON1となっていることに留意してください。

4, リソーススクリプトにストリングテーブルを追加する


このような画面になったら、最初の行のキャプションという列をクリックします。 そして、適切な文字列を入力し、Enterキーで決定します。 文字列は、アイコンの名前用とツールチップ用の2つが必要であるため、 次の行にもう1つ文字列を追加します。

ここでも追加した文字列の識別子は覚えておいてください。

5, リソーススクリプトにダイアログボックスを追加する


上の図のようになったら、自分の好きなコントロールを ダイアログに貼り付けることができます。 右クリックでプロパティを選択すると、ダイアログのスタイルなどを調整できます。

これまでの作業を終えたらビルドしてみてください。 ビルドが成功したらmycpl.dllというDLLが作成されますが、 この.dllの拡張子は.cplに書き換えなければなりません。 これをビルド終了後に毎回行うのは煩わしいため、 DLLを出力するときに拡張子が.cplになるように設定しておきましょう。


出力ファイルのmycpl.dllの.dllを.cplにします。 これで、cplファイルとして出力されることになります(実際には、DLLも出力されます)。 ちなみに$(OutDir)/をカットすると、Debug(Release)フォルダではなく、 プロジェクトと同じフォルダに出力されるようになります。

見て分かるように、mycpl.cplがプロジェクトのフォルダに存在します。 後はこれをc:\WINDOWS\system32に移動させなければなりませんが、 今回はまだCPlApplet関数がダイアログを起動するような設計になっておらず、 CPL_INQUIREメッセージも処理していないので移動させても正常に機能しません。 次節では実際に必要なコードを書き、コントロールパネルにアイコンを表示させます。

ところで、上記のicon1というアイコンファイルは空白になっていますが、 これはアイコンに何の絵も描かなかったからです。 手持ちの気に入ったアイコンを採用したい場合は、そのアイコン名をicon1とし、 このフォルダに置いて上書きするとよいでしょう。 プロジェクトをリビルドすることにより、新しいアイコンがcplファイルに反映されます。


戻る