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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0127
リストListBoxについて3解決


リスト

リンク

2013/1/27(Sun) 14:14:25|NO.52050


objsize 200 listbox a, 60, "" hListbox = objinfo(stat, 2) button "追加", *add_item stop *add_item sendmsg hListbox, $180, , "メッセージ" stop

リストボックスについての質問です。
上記のソースコードは追加ボタンを押すとリストボックスにメッセージという文字を追加するものですが
ボタンを数回押していると途中で右側のスクロールバーが出来ると思います
そうするとリストボックスの下の方はわざわざスクロールしないといけなくなります
ボタンを押すたびにリストボックスの最終行に進む?みたいなことは出来ないでしょうか?
調べても分かりませんでした よろしくお願いします



この記事に返信する


osakana

リンク

2013/1/27(Sun) 14:55:25|NO.52051

メッセージで追加項目数を取得して、
それに1引いた数で項目を選択します。
1減らすのはインデックスが0から始まるため。

#define LB_ADDSTRING $00000180 #define LB_SETCURSEL $00000186 #define LB_GETCURSEL $00000188 #define LB_GETCOUNT $0000018B objsize 200 listbox a, 60, "" idListobx = stat hListbox = objinfo(stat, 2) button "追加", *add_item stop *add_item sendmsg hListbox, $180, , "メッセージ" sendmsg hListbox, LB_GETCOUNT ; 項目数取得 #if 01 objprm idListobx, stat - 1 title "" + a #else sendmsg hListbox, LB_SETCURSEL, stat - 1 sendmsg hListbox, LB_GETCURSEL title "" + stat #endif stop



fortunehill

リンク

2013/1/27(Sun) 15:03:28|NO.52052

/*ご参考*/

#include "user32.as" objsize 200 listbox a, 60, "" hListbox = objinfo(stat, 2) button "追加", *add_item stop *add_item sendmsg hListbox,$180,, "メッセージ "+ii sendmsg hListbox,$197,ii ;LB_SETTOPINDEX ii++ stop
/*
#define LB_ADDSTRING $0180;項目文字列を追加する
#define LB_INSERTSTRING $0181;項目文字列を挿入する
#define LB_DELETESTRING $0182;項目文字列を削除する
#define LB_SELITEMRANGEEX $0183;連続した項目を複数選択する
#define LB_RESETCONTENT $0184;全項目を削除する
#define LB_SETSEL $0185;複数項目選択可能なときに特定の項目を選択する
#define LB_SETCURSEL $0186;単項目だけ選択可能なときに特定の項目を選択する
#define LB_GETSEL $0187;特定の項目が選択されているかどうかを知る
#define LB_GETCURSEL $0188;現在選択中の項目のインデックスを知る
#define LB_GETTEXT $0189;特定の項目の文字列を取得する
#define LB_GETTEXTLEN $018A;特定の項目の文字列の長さを取得する
#define LB_GETCOUNT $018B;現在の項目数を取得する
#define LB_SELECTSTRING $018C;特定文字列項目を検索して選択状態にする
#define LB_DIR $018D;ファイルやドライブのリストを表示する
#define LB_GETTOPINDEX $018E;現在見えている項目の最初の項目のインデックスを取得する
#define LB_FINDSTRING $018F;特定の文字列を含む最初の項目の検索
#define LB_GETSELCOUNT $0190;複数項目選択可能なときに選択項目数を取得する
#define LB_GETSELITEMS $0191;複数項目選択可能なときに選択項目に関連づけられた整数値の配列を取得する
#define LB_SETTABSTOPS $0192;タブストップの数と位置の設定
#define LB_GETHORIZONTALEXTENT $0193;水平スクロール可能範囲の取得
#define LB_SETHORIZONTALEXTENT $0194;水平スクロール可能範囲の設定
#define LB_SETCOLUMNWIDTH $0195;複数列のリストの列幅を設定する
#define LB_ADDFILE $0196;ファイルリストにファイル名を追加する
#define LB_SETTOPINDEX $0197;特定項目を可視領域の最初の項目にするためにスクロールする
#define LB_GETITEMRECT $0198;リスト表示領域の境界矩形を取得
#define LB_GETITEMDATA $0199;特定項目に関連付けられた整数値を取得
#define LB_SETITEMDATA $019A;特定項目に関連付けられた整数値を設定
#define LB_SELITEMRANGE $019B;複数項目選択可能なときに選択項目の範囲を設定
#define LB_SETANCHORINDEX $019C;複数項目選択可能なときに最初の選択項目(アンカー)を設定
#define LB_GETANCHORINDEX $019D;複数項目選択可能なときに最初の選択項目(アンカー)を取得
#define LB_SETCARETINDEX $019E;フォーカス矩形を表示する項目インデックスを設定
#define LB_GETCARETINDEX $019F;フォーカス矩形を表示している項目インデックスを取得
#define LB_SETITEMHEIGHT $01A0;項目の高さの設定
#define LB_GETITEMHEIGHT $01A1;項目の高さの取得
#define LB_FINDSTRINGEXACT $01A2;特定の文字列と同一な最初の項目の検索
#define LB_SETLOCALE $01A5;ロケールの設定
#define LB_GETLOCALE $01A6;ロケールの取得
#define LB_SETCOUNT $01A7;LBS_NODATA スタイルのときの項目数の設定
#define LB_INITSTORAGE $01A8;予めメモり容量を割り当てる
#define LB_ITEMFROMPOINT $01A9;特定位置の再近接項目の取得
*/



リスト

リンク

2013/1/27(Sun) 15:39:22|NO.52054

皆様回答ありがとうございます
おかげさまで作りたいものが作れました
解決です



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