WideStudio Application Builder User's Guide

新たなクラスを派生するには



アプリケーションウィンドウをそのままクラスにするには

通常のアプリケーションウィンドウをクラスウィンドウ指定を行うと、 そのアプリケーションウィンドウはそのままクラスウィンドウになります。 クラスウィンドウをコンパイルを行うと、 次のような 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



[ベースとなるオブジェクトの指定(2)]

この場合 clavlab_000 をベースとした、新しいクラス(型) class1 が 作成されます。 clavlab_000 が WSCvlabel 型のオブジェクトである場合、 class1 は、WSCvlabel を継承したクラスとなります。 通常はプロパティやメンバ関数(API)などを新たに追加して オブジェクトの機能アップするのに利用します。 基本的には、アプリケーションウィンドウの一部をクラスにする方法と 何ら変わりはありませんが、子オブジェクトを含まないで、単体で派生します。
Document Release 3.70 for WideStudio ver 3.70, May 2004


WideStudio documents index | 目次
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。