PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
3550 98/10/07 12:08:41 RE(4): ありがとうございました。 By てとらぽっと
3549 98/10/07 11:51:41 RE(3):ばっちりです。&係数を計算された方法ってありますか? By Taka
3545 98/10/07 10:44:54 RE(2):ばっちりです。&係数を計算された方法ってありますか? By てとらぽっと
3542 98/10/06 19:44:43 RE(1):PB5.0.02: リストビューで任意の行へスクロール By Taka
3502 98/10/02 15:05:30 PB5.0.02: リストビューで任意の行へスクロール By てとらぽっと

カテゴリ:データウィンドウ
日付:1998年10月06日 19:44 発信者:Taka
題名:RE(1):PB5.0.02: リストビューで任意の行へスクロール

こんばんは。Takaです。

>リストビューの ListViewItem のプロパティで任意の行を
>選択状態にし、フォーカスを与えるまでは出来たのですが、
>その行にスクロールする方法を調べても見つけられませんでした。

妥当かどうかわかりませんが、
 ・Windows API の GetScrollPos により、現状のスクロール量(Pixels)を取得する
 ・その位置を基準に、スクロールさせたいPixel数を求める
 ・Windowsメッセージの LVM_SCROLL を Sendする
の方法でできる...かもしれません。
-------------------------------------------------------
外部関数定義
function long GetScrollPos( uint hdl, int nbr ) library \"user32.dll\"
-------------------------------------------------------
スクリプト
// 現在のスクロール位置を取得
long sx,sy
sx = GetScrollPos( Handle(lv_1), 0 )   /* 0:水平方向 */
sy = GetScrollPos( Handle(lv_1), 1 )   /* 1:水平方向 */
// 選択項目までの距離を算出
long sc
sc = lv_1.SelectedIndex() * 17 - sy - 17
// 強制的にスクロール
Send( Handle(lv_1), 4116, 0, sc )  /* 4116:LVM_SCROLL */
-------------------------------------------------------
ちなみに未チェックです。ごめんなさい。
でも、これでうまくいけば、n番目の項目を選択&スクロールさせる
ユーザ関数とかできるかもしれませんね。

では。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

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

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