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


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1208
みょんリストボックスで選択したもののgotoに飛ぶ1未解決


みょん

リンク

2020/12/8(Tue) 20:55:06|NO.91892

リストボックスで選んだものを

リストボックの名前 ListBoxA
goto *ListA

みたいな感じでおしえてください
よろしくお願いします



この記事に返信する


とあるプログラマ

リンク

2020/12/8(Tue) 23:05:33|NO.91893

質問の意図がよく分からないのですが、こういうことでしょうか


#include "user32.as" #define global GWL_STYLE $FFFFFFF0 #define global WM_COMMAND $00000111 #define global LBN_SELCHANGE $00000001 #define global LB_GETCURSEL $00000188 #define global LBN_DBLCLK $00000002 #define global NULL $00000000 #define global ctype HWORD(%1) ((%1) >> 16 & $FFFF) screen 0 // リストボックスは LBS_NOTIFY をセットすると WM_COMMAND を発行する (HSPのリストボックスはデフォルトでセットされている) oncmd gosub *COMMAND, WM_COMMAND Listbox ListBoxA, 100, "A\nB\nC\nD" hListBox = objinfo_hwnd(stat) stop *COMMAND // リストボックス以外は無視 if (lparam != hListBox) : return // ダブルクリックで反応するためには LBN_SELCHANGE を LBN_DBLCLK に置き換える if (HWORD(wparam) == LBN_SELCHANGE) { index = SendMessage(hListBox, LB_GETCURSEL, NULL, NULL) // *COMMAND にサブルーチンジャンプで来てるので goto にしないこと (サブルーチンネストが浅くならなくなる) if (index == 0) : gosub *ListA if (index == 1) : gosub *ListB if (index == 2) : gosub *ListC if (index == 3) : gosub *ListD } return // =================================== *ListA dialog "Aが選択されました" return *ListB dialog "Bが選択されました" return *ListC dialog "Cが選択されました" return *ListD dialog "Dが選択されました" return



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