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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0616
アイカ▼マーク付きボタン5解決


アイカ

リンク

2019/6/16(Sun) 11:44:20|NO.87622

HSPで▼マーク付きのボタンを設置することってできますか?
https://drive.google.com/file/d/1m-m7hJNYwxRNnwYy_h3Q5rN8xxCVhPbV/view?usp=sharing



この記事に返信する


沢渡

リンク

2019/6/16(Sun) 14:34:39|NO.87626

調べましたが「ドロップダウンボタン」というようですね。
こんな感じで作ってみましたが、どうでしょうか。
(dupptrって初めて使うので一寸不安な部分はありますが…)

//参考: // http://chokuto.ifdef.jp/advanced/shortcutmenu.html // http://chokuto.ifdef.jp/urawaza/message/WM_NOTIFY.html // "BS_SPLITBUTTON"と"BCN_DROPDOWN"でググった結果も参考に #include "user32.as" #const p_opt 0x80|0x100|0x2 //TPM_NONOTIFY | TPM_RETURNCMD | TPM_RIGHTBUTTON button gosub "Default",*def b_id=stat b_h=objinfo(b_id,2) //ボタンのハンドル GetWindowLong b_h,-16 SetWindowLong b_h,-16,stat | 0xC //0xC=BS_SPLITBUTTON ドロップダウンボタンにする oncmd gosub *notify,0x4E //0x4E=WM_NOTIFY //ポップアップメニューの作成 CreatePopupMenu p_h=stat //ポップアップメニューのハンドル AppendMenu p_h,0,1,"1番目" AppendMenu p_h,0,2,"2番目" AppendMenu p_h,0,3,"3番目" onexit goto *exit //終了時にポップアップメニューを削除する必要あり stop *def dialog "デフォルトの動作です" return *notify dupptr nmhdr,lparam,12 if (nmhdr(0)=b_h)&(nmhdr(2)=-1248) { //-1248=BCN_DROPDOWN TrackPopupMenuEx p_h,p_opt,ginfo_mx,ginfo_my,hwnd,0 //ポップアップメニューの表示 if stat!=0 { pm_id=stat //メニュー項目のID switch pm_id case 1 dialog "1番目が選ばれました" swbreak case 2 dialog "2番目が選ばれました" swbreak case 3 dialog "3番目が選ばれました" swbreak swend } } return *exit //終了時処理 DestroyMenu p_h end



沢渡

リンク

2019/6/16(Sun) 14:43:25|NO.87627

追記ですが、もしボタン押下やメニュー項目選択から別の処理に分岐させる場合は
oncmd 0として割り込みを切り、再度選択を受け付けるようにする場合はoncmd 1としてください。



アイカ

リンク

2019/6/22(Sat) 06:56:24|NO.87687

ありがとうございました。
無事に▼マーク付きボタンを表示できました



HSP初心者

リンク

2019/8/10(Sat) 12:18:47|NO.88027

a=0:objsize 120,24
combox a,120,"APPLE\nORANGE\nGRAPE"
stop
今更ですが
F1で見つけました。



名無し

リンク

2019/8/10(Sat) 22:46:30|NO.88031

>NO.88027
文章ちゃんと見てる?君はまだ他の人を支援するのには早い。
自分に知識を蓄えろ。その答えは間違っている。



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