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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0517
DoubleQuoteListboxのスクロール位置を取得、設定したい。2解決


DoubleQuote

リンク

2017/5/17(Wed) 08:34:05|NO.79819

まず、スクリプトを書かせて頂きます。


aaa = "" bbb = "" repeat 100 aaa += strf("A %03d\n",cnt) bbb += strf("B %03d\n",cnt) loop objsize ginfo_winx/2,ginfo_winy-10 pos 000,000 listbox place_a,0,""+aaa : listboxid_a = stat pos ginfo_winx/2,000 listbox place_b,0,""+bbb : listboxid_b = stat repeat objprm listboxid_b,place_a wait 30 loop

実行すると、リストボックスが左右に出てくると思います。
左のリストボックスの選択をいじると右が同じ位置になると思います。
A036までは良いのですが、スクロールを一番下に下げ、A080あたりをクリックしたとしても
B080が選択はされるのですが、右側のリストボックスのスクロール位置が一番下となって、違うため、
左右で、選択されている位置がズレてしまいます。

これを左右で位置を揃えるため、左側のリストボックスのスクロール位置を取得して、右側のスクロール位置を
変更したいと考えております。

このためにsendmsgのLB_****を探してみたのですが、それが出来そうな物が見つかりませんでした。

具体的にどれを使えば宜しいでしょうか?

ご回答よろしくお願い致します。


参考までにMSDNのlistbox関連ページURLを貼っておきます。
https://msdn.microsoft.com/en-us/library/cc656499.aspx



この記事に返信する


MillkeySoftw

リンク

2017/5/17(Wed) 11:49:44|NO.79821

こんな感じかの?

#define LB_GETTOPINDEX 0x018E #define LB_SETTOPINDEX 0x0197 aaa = "" bbb = "" repeat 100 aaa += strf("A %03d\n",cnt) bbb += strf("B %03d\n",cnt) loop objsize ginfo_winx/2,ginfo_winy-10 pos 000,000 listbox place_a,0,""+aaa : listboxid_a = stat pos ginfo_winx/2,000 listbox place_b,0,""+bbb : listboxid_b = stat repeat sendmsg objinfo(0,2),LB_GETTOPINDEX,0,0 : listbox_index_a = stat sendmsg objinfo(1,2),LB_SETTOPINDEX,listbox_index_a,0 objprm listboxid_b,place_a wait 30 loop



DoubleQuote

リンク

2017/5/17(Wed) 15:04:16|NO.79825

Milkey Softw さま

今回もありがとうございます。

LB_GETTOPINDEXでしたか、気づきませんでした。
すみませんでした、ありがとうございました。



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