![]() | Application Builder User's Guide | WideStudio Index 目次 |
新たなクラスを派生するには
アプリケーションウィンドウをそのままクラスにするには
通常のアプリケーションウィンドウをクラスウィンドウ指定を行うと、 そのアプリケーションウィンドウはそのままクラスウィンドウになります。 クラスウィンドウをコンパイルを行うと、 次のような C++ ソースプログラムが生成されます。 [classwin] はアプリケーションウィンドウ名称です。
- [classwin].h
クラスアプリケーションウィンドウ本体のヘッダーファイルです。 新たなメンバ変数や関数を追加する場合は、 このヘッダに追加します。- [classwin].cpp
クラスアプリケーションウィンドウ本体のソースファイルです。処理を追加する場合は、 このソースプログラムに記述します。- [classwin]P.h
プロパティなどの情報を定義します。ユーザはこのヘッダを編集してはいけません。- [classwin]P.cpp
プロパティなどの資源を初期化したりします。 ユーザはこのソースプログラムを編集してはいけません。前節でクラスアプリケーションウィンドウ指定した図中の下線のアプリケーションウィンドウ class1 は、 そのまま class1 型のオブジェクトクラスになります。 クラス class1 は、WSCwindow を継承したクラスとなります。
[クラスアプリケーションウィンドウの指定]アプリケーションウィンドウの一部をクラスにするには
アプリケーションウィンドウの一部、ここでは、フォーム cla_form000 を ベースとしたクラスを作成しようとしています。 通常、何も指定しないでクラスを派生させると、一番上位のウィンドウをベース として、派生しますが、図に示す派生元に、トップレベルのウィンドウではない、 子オブジェクトを指定すると指定すると、それをベースとして派生します。
(注意)派生元を変更した場合は、ソースプログラムを生成しなおす必要があります。 次に示すファイルがすでに存在する場合は削除してください。[classwin] はアプリケーションウィンドウ名称です。
- [classwin].h
- [classwin].cpp
この場合 cla_form000(WSCform クラス)をベースとした、 新しいクラス(型) class1 が 作成されます。 すなわち、class1 は、WSCform を継承したクラスとなります。 もし、cla_form000 上に、子オブジェクトが配置されている場合は、 一緒にクラスに含まれます。
[ベースとなるオブジェクトの指定]既存のオブジェクトを基に新しいクラスを派生するには
既存のオブジェクト、例えばラベル(WSCvlabel)を基にあらたなラベルとして 部品にしたい場合、ベースとなるオブジェクトにそのラベルを指定します。
ここでは、ラベル clavlab_000 をベースとしたクラスを作成しようとしています。 図の派生元に clavlab_000 を指定します。 (注意)派生元を変更した場合は、ソースプログラムを生成しなおす必要があります。 次に示すファイルがすでに存在する場合は削除してください。[classwin] はクラスウィンドウ名称です。
- [classwin].h
- [classwin].cpp
この場合 clavlab_000 をベースとした、新しいクラス(型) class1 が 作成されます。 clavlab_000 が WSCvlabel 型のオブジェクトである場合、 class1 は、WSCvlabel を継承したクラスとなります。 通常はプロパティやメンバ関数(API)などを新たに追加して オブジェクトの機能アップするのに利用します。 基本的には、アプリケーションウィンドウの一部をクラスにする方法と 何ら変わりはありませんが、子オブジェクトを含まないで、単体で派生します。
[ベースとなるオブジェクトの指定(2)]
Copyright(C) WideStudio Development Team, 1999-2004 | Last modified: May 25, 2004 |