BCCFormでリソースを作成した後は、SkeltonWizardの出番です。

SkeltonWizardはリソースファイル(rcファイル)を引数に与えなければ(注1)起動できません。

注1:MS-DOSの時代のコンソール入力では"C:\BCCForm_and_BCCSkelton\SkeltonWizard.exe (リソースファイル名).rc"のように書きます。

 

作成したHelloWorld.rcでSkeltonWizardを起動すると次のような画面になります。

今回のHelloWorldはSDIで開発してもよいのですが、ダイアログベースにしたので「ダイアログ」を選択し、下のドロップダウンメニューからメインダイアログを選択してください。また、その下の「ステータスバー」と「仮想ウィンドウ」にチェックを入れて、右のドロップダウンメニュー群の「メニュー」「アイコン」で作成したダイアログ用のメニューとアイコンを選択してください。

このようになります。(「コモンダイアログ(CMNDLGクラス)」は選択しなくても結構です。また、表示画像がSDIと違いますね?ウィンドウタイプをMDIにするとどういう画像になるでしょうか?いずれ試してみてください。)下の「次へ」ボタンを押してください。

このページはツールバーとステータスバーの設定画面です。今回ツールバーは使わないのでグレー(使用不可状態)になっています。

ステータスバーはセクションを二つ取り、プログラム名と任意文字列の表示を行いましょう。完了したら「次へ」を押します。

このページが、ユーザーがプログラミングで最も手を掛けることになる(プロジェクト名)Proc.hファイルが担当する、ウィンドウメッセージやメニューやコントロールによる割り込み処理を設定する画面です。

上段がウィンドウメッセージで「->」を押すと設定され、「<-」を押すと解除されます。

下段はメニュー、コントロールで同様に設定、解除します。

両方とも、ポイントは「設定せずに後で追加するよりも、余計に設定して後で削除する方が楽」ということでしょうか?なお、ここで「設定」すると、

(1) (プロジェクト名).hのメインウィンドウ(ダイアログ)およびその他ダイアログのクラス定義におけるメンバー関数の宣言

(2) (プロジェクト名).hの(クラスインスタンスの作成-実際の変数の宣言の下にある)「コールバック関数(マクロ)」(BEGIN_MODELESSDLGMSG/BEGIN_MODALDLGMSGとEND_DLGMSGで挟まれた)テーブル

(3) (プロジェクト名)Proc.hのメンバー関数の定義

が追加されます。実際に余計に作成し、確認してから削除してみてください。

完了したら「次へ」を押します。

これで完了しました。どのような開発プロジェクトとなるかの概要が表示されますのでよろしければ「完了」を押し、変更したい場合には「戻る」を押してください。(なお、WYSWYGにチェックを入れるとスケルトンウィンドウを起動させて、メニューやコントロールを押すとBCFEditorが該当関数定義を開く仕様でしたが、余り使い勝手が良くないのでお勧めしません。また、一旦ファイルを作成し、それを編集中にもう一度SkeltonWizardでファイルを作り直す場合の「CPPファイルを書き換えない」オプションもあまり使いませんね。笑)

 

以上で、BCCFormで作成したHelloWorld.rcとResHelloWorld.hに加え、今回のプロジェクト(HelloWorld)の次のファイルが作成されます。

(1) HelloWorld.bdp(BCC Developper用プロジェクト管理ファイル)

(2) HelloWorld.h(クラス定義、インスタンス作成、コールバック関数マクロテーブル)

(3) HelloWorldProc.h(ウィンドウクラスのメンバー関数定義-ウィンドウメッセージ、メニュー、コントロールによる実際の動作を記述する)

(4) HelloWorld.cpp(ウィンドウ登録、作成、メッセージループ-SKDプログラムでは長々欠かされるが、プログラミング上余り重要ではない)

 

なお、上記(1)のファイルはBCC DevelopperやBCFEditorを使わなければ使用しませんが、BCC Developperユーザーに対するスケルトン作成上の注意点を述べます。

(1) HelloWorld.bdpを開く

次のような画面になると思います。確認してください。

(2) 「プロジェクト設定」

デフォルトは"Debug"になります。(私はいつも"Release"で開発しますが、何か?)


Windowsアプリケーションになっているでしょうか?

ではこのままビルド(「再構築」)してください。するとリソースが全く反映していないアプリケーションが作成されるかもしれません。

これは「プロジェクト設定」の「リソース」タブの「リソーススクリプトファイル名」の引用符処理で'"'(ダブルクォテーション)が残るためです。

慌てず騒がず、この引用符を削除して再度ビルドしてください。すると

このようなウィンドウができます。しかし、マウスをクリックしたり、メニューを選択しても何もしません。これが「スケルトン」というものです。

 

今回はここまで。