HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0111
こいるlistboxのスクロールが遅い2解決


こいる

リンク

2021/1/11(Mon) 13:23:49|NO.92044

listboxのスクロールが遅いです。
(ゆっくり少しだけスクロールした後に、一気にスクロールする)

下記のスクリプトを実行して、マウスホイールを素早く回すと、
スクロールが遅いことが分かると思います。

sdim s notesel s repeat 100 noteadd str(cnt) loop objsize ginfo_winx, ginfo_winy listbox x,0, s

もっと、mesboxのように素早くスクロールしてほしいのですが、
どうすればできるのでしょうか?



この記事に返信する


X

リンク

2021/1/11(Mon) 14:46:10|NO.92045

リストボックスのスクロールはOSのスムーズスクロール効果が反映されています。
user32.dllのSystemParametersInfoで現在の設定状態を取得変更することが出来ます。


#uselib "user32.dll" #func SystemParametersInfo "SystemParametersInfoA" int, int, int, int #define SPI_GETLISTBOXSMOOTHSCROLLING 0x00001006 #define SPI_SETLISTBOXSMOOTHSCROLLING 0x00001007 #define SPIF_UPDATEINIFILE 0x00000001 #define SPIF_SENDCHANGE 0x00000002

現在の設定を取得(変数NowStatに入ります)

SystemParametersInfo SPI_GETLISTBOXSMOOTHSCROLLING, 0, varptr(NowStat), 0

スムーズスクロールオフ

SystemParametersInfo SPI_SETLISTBOXSMOOTHSCROLLING, 0, 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE

スムーズスクロールオン

SystemParametersInfo SPI_SETLISTBOXSMOOTHSCROLLING, 0, 1, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE

使用者のOSの設定をプログラム側で勝手に変更することとなるため(他アプリのエディタのフォント変更ダイアログ等リストボックスのすべてが影響を受けます)
よろしくないということも考えられます。
その場合リストビューをリストボックスのように使えば良いかと思います。



こいる

リンク

2021/1/11(Mon) 17:08:52|NO.92046

なるほど。ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.