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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.