Re[5]: TreeViewについて


[コメントツリー表示を見る] [発言時刻順表示を見る]

Posted by Uz on 2001/08/06 14:57:17

In Reply to: Re[4]: TreeViewについて Posted by MASA on 2001/08/06 12:11:57


    > Uzさんのプログラムについて、
    > 以下の修正点を行いました。
    > ・ルートをドラッグするとエラーが発生する
    > ⇒ エラートラップで逃げた (MouseMove)
    > ・ルートを子にドロップ等、あり得ない作業をした場合に
    >  エラーが発生 ⇒ NodeをNothingにして、Exit Subするよ
    > うにし た。(Ole_DragAndDrop)
    > ・非常にまれに発生することがあるのですが、
    >  選択が戻ることがあります。選択を何度も繰り返していると
    >  発生した。(Uzさんのサンプルに何も手をつけていない
    > 状態で起こった。)
    >
    > これは、青い反転表示されているものと実際に選択されている
    > 物が異なる時に発生するように見受けられます。
    > まぁ殆ど発生しないので、いいかと思っています。

    僕のサンプルはあくまでサンプルなので、余り細かいところは
    気にしてません。
    実際に使われるときは、ご自身で精度を上げてご利用ください。

    > ところで、OLEドロップを使用したのは何故ですか?
    > 私は、TreeViewのドラッグドロップを使っていました。
    > これらに違いはあるのでしょうか?
    OLE〜の方が新しい技術で、機能が増えてるので、
    こっちでやっておいたほうが、いい気がします。

    > そもそもOLEドロップというのが何なのか私はわかって
    > おりません。
    OLEDataObject(だったかな?)を使ったD&Dで、クリップボード
    なんかでもこれを使ってます。
    あらかじめデータを詰め込むのではなく、データの型を詰め込ん
    で、要求されたデータだけを転送して、無駄をなくすように使わ
    れたりします。
    詳しくはOLEドラッグ&ドロップ関連のヘルプを見てください。

    > もう一つ質問があります。
    >
    > ドラッグアンドドロップ等のようなプログラムに通信等の
    > 割り込み処理を加えた場合、プロシージャの途中でも割り込み
    > の処理の方へ行ってしまいますでしょうか?(一つのプロシー
    > ジャを終了させてから割り込み処理へ行く等)
    やってみればわかるでしょう。
    割り込みにもいろいろあります。
    タイマーだったり、他のアプリだったり。
    まぁ、D&Dは割り込みでも、キャンセルになるぐらいなので、
    気にすること無いんじゃないの?
    ドラッグ中に[Esc]キーを押してみましょう。
    キーボード割り込みによる、キャンセル。
    ってのもあるんで、キャンセルには対応できるようにして
    おきましょう。


記事スレッド一覧