PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
2741 | 98/08/12 16:49:15 | 大変有り難うございました。 By kin |
2734 | 98/08/12 15:37:10 | 親クラスにおける DragObject型変数のメリット ? By Taka |
2733 | 98/08/12 15:30:26 | 親クラスにおける DragObject型変数のメリット ? By Taka |
2730 | 98/08/12 14:07:44 | すみません。DragObject型についてもうちょっと教えてください。 By kin |
2727 | 98/08/12 11:34:41 | RE:RE:RE:PB6: スプリットウィンドウを作成したいのですが By Taka |
2726 | 98/08/12 10:38:21 | RE:RE:PB6: スプリットウィンドウを作成したいのですが By kin |
2722 | 98/08/11 21:24:19 | RE:PB6: スプリットウィンドウを作成したいのですが By Taka |
2716 | 98/08/11 17:46:15 | PB6: スプリットウィンドウを作成したいのですが By kin |
カテゴリ:旧電子会議室
日付:1998年08月12日 15:30 発信者:Taka
題名:親クラスにおける DragObject型変数のメリット ?
>インスタンス変数でDragObject型の変数を2つ定義しておき、
>親クラスの参照はこの変数でやって、
>継承した子クラスのWindowのOpenスクリプトで、使用するオブジェクトを
>Createするとかそういうことでしょうか?
>
>もしお手数でなければもう少し詳細にご教授願えませんでしょうか?
汎用的なスプリットバー・コントロールのクラス定義を作るには、
その左右(または上下)のコントロールが「何か」を、登録する...
というか事前に宣言するような処理が必要になるかと思われます。
そしてその登録情報は、クラスのインスタンス変数に格納され、
移動が終了した時のイベントにおいて、登録されている左右コントロール
を Move,Resize することになります。
この時、「登録情報」のインスタンス変数を、
DragObject i_SplitObjectL
DragObject i_SplitObjectR
と宣言しておき、移動終了時のイベントでは、
i_SplitObjectL.Resize( ...
i_SplitObjectR.Move( ...
i_SplitObjectR.Resize( ...
のような感じで、親クラス側に定義しておきます。
さて、ウィンドウにおいて、この「スプリットバー・クラス」を配置するわけですが、
その Constructorイベント等において、
// 左右オブジェクトの宣言
this.i_SplitObjectL = 左のコントロール
this.i_SplitObjectR = 右のコントロール
と記述するだけで、他のスクリプトは不要になります。
さらに、左右コントロールの組み合わせが
・ツリービュー:リストビュー
・ツリービュー:データウィンドウ
・リストボックス:タブ
・ピクチャリストボックス:カスタムユーザオブジェクト
・その他
のようにどんな組み合わせであっても、DragObject型として扱うようにしておけば、
親クラスでの共通処理ですべてまかなうことができる、という訳です。
?へつづく...
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.