PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
4272 98/12/08 11:54:55 RE(4):ちょっと修正がありましたが、うまく行きました。 By こてちゅ
4263 98/12/07 23:53:28 RE(3):PB6: Treeviewコントロールのスクロール By リエッチ
4262 98/12/07 19:24:34 RE(2):PB6: Treeviewコントロールのスクロール By GOLF
4261 98/12/07 19:09:17 RE(1):PB6: Treeviewコントロールのスクロール By リエッチ
4258 98/12/07 17:32:02 PB6: Treeviewコントロールのスクロール By こてちゅ

カテゴリ:データウィンドウ
日付:1998年12月08日 11:54 発信者:こてちゅ
題名:RE(4):ちょっと修正がありましたが、うまく行きました。

リエッチさん、GOLFさん、お世話様です。

>Treeviewコントロールのdragwithinイベントに記述します

ここまでは、何とか想像ついたんですがねぇ・・・

>//--------------------------------------------------------------
>//ドラッグが、表示されている最初の項目にきたら、1項目上にずらす
>//--------------------------------------------------------------
>Ll_tvi_ato = tv_1.FindItem(FirstVisibleTreeItem!, 0)
>if handle = Ll_tvi_ato then
> Ll_tvi = tv_1.FindItem(previousTreeItem! , Ll_tvi_ato)

このままだと、うまくスクロールしてくれなく・・・
引数を PreviousVisibleTreeItem! にしたらうまくいったんです。
どうも前の項目がレベルが違うと -1 が返ってくる為のようでした。

> tv_1.SetFirstVisible (Ll_tvi)
> return
>end if
>//--------------------------------------------------------------
>//ドラッグが、表示されている最後の項目にきたら、1項目下にずらす
>//--------------------------------------------------------------

>Ll_tvi = tv_1.FindItem(nextvisibleTreeItem! ,handle) //次の項目が表示範囲外=最後の項目
>if Ll_tvi <= 0 then
> Ll_tvi = tv_1.FindItem(FirstVisibleTreeItem!,0)
> Ll_tvi = tv_1.FindItem(nextTreeItem! , Ll_tvi) //先頭の次の項目が表示域のTOPにくる
> tv_1.SetFirstVisible (Ll_tvi)
>end if

こちらも同様の理由でうまく行かなかった為、NextVisibleTreeItem! を指定しました。

しかし、FindItem関数を駆使するとは気づきませんでした。
んー、こちらの調査不足ですね。
このスクリプト、てとらぽっとさんのHPに載せてもらえるといいですね。
結構気づきにくいような気がするんです。(って、それは僕だけ?)

本当にありがとうございました

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

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