PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
11636 00/06/08 10:27:02 RE(4):PB6: ツリービューでのドラッグ&ドロップについて By Ei
11626 00/06/07 16:27:20 RE(3):PB6: ツリービューでのドラッグ&ドロップについて By ryochan
11600 00/06/06 16:28:25 RE(2):PB6: ツリービューでのドラッグ&ドロップについて By Ei
11591 00/06/06 14:42:06 RE(1):PB6: ツリービューでのドラッグ&ドロップについて By ryochan
11568 00/06/05 16:50:10 PB6: ツリービューでのドラッグ&ドロップについて By ei

カテゴリ:PowerBuilderの不具合?
日付:2000年06月07日 16:27 発信者:ryochan
題名:RE(3):PB6: ツリービューでのドラッグ&ドロップについて

Eiさん、こんにちは。

私の方こそ、早合点していました
申し訳ございません。

私もいろいろ試してみましたが、うまくいきませんでした。
DragWithinイベントで再描画:SetReDrawを使用すると
反転表示ははうまくいくのですが、
画面はちらつきますし、マウスカーソルのアイコンが
消えてしまいます。
それを回避しようと、ドロップ対象ノードの
ハンドルが切り替わった場合にのみ、
ノードの選択処理を行おうとしたのですが、
SetReDraw関数を使用しない場合と同じように、
反転表示の軌跡が残ってしまいます。
ドロップ対象ノードをboldにする方法も行ったのですが、
結果は同じでした。

どうしてもドラッグ中のアイコンを「None!」にされたいのならば
(それが一番分かり易いですよね、私もそう思います。)、
「何だそんなこと」と言われるかもしれませんが、
ツリービューコントロールの上側か下側に
スペースの余裕があるのでしたら、
スタティックテキスト等で、ドロップ対象ノードのLabelを
表示するのはどうでしょうか?
テキストの表示条件はお任せします。
最初、マウスカーソルの下にドロップ対象ノードのLabel表示させようとしたのですが、
これも、テキストの軌跡が残ってしまいました。
あと、ご存じと思いますが、この方法の場合、
カレントノードとドラッグ対象ノードは異なりますので、
DragEnter時に、カレントノードの反転表示を解除した方が
分かり易いと思います。
また、ドラッグ対象のノードのハンドルが切り替わった場合
にのみLabel表示を切り替えないとテキスト表示がちらつきます。

以前から思っていたのですが、
PBのツリービューはやたらとメモリを喰っているような気がします(特に表示関係)。
500件ぐらいのノードを追加しようとすると、
かなり時間がかかりますし、メモリの少ないWin95系OSではAPが固まり
すぐ「応答なし」の状態になってしまうことがありました。
(そんなことをするのが悪いと言ってしまえばそれまでなのですが...)。

OLEのコンポーネントも試そうとしたのですが、
勉強不足のため
VBのようにNodesのAddメソッドが使えなかったりと
私も良く分かりません。

あまりお役に立つことができなくて申し訳ございません。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS Oracle SQL*Net 8
Browser Netscape4.X

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 8.0
WebServer IIS

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