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