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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.