ブジェクト編 5>コンボボックスの項目選択監視」を組み合わせて、
menu と combox を使おうと思うのですが、うまく行きません。
combox に変化があったかどうか知りたいのです。
oncmd gosub *OnMenuCmd, WM_COMMAND
oncmd gosub *OnComboxCmd, WM_COMMAND
この2つの oncmd のうち前に書いたほうが常に無視されます。
どう処理したらよいのか、ご指導のほどよろしくお願いします。
;;;;;;;;; ;;;;;;;;;;;;;; ;;;;;;;;;;;; #include "../stdlib/sysval.as" #include "../stdlib/gblconst.as" #include "../stdlib/winapi32.as" #include "../stdlib/exwinstyle.as" #include "../stdlib/exmenu.as" #include "../stdlib/exstatus.as" goto *main ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #deffunc combobox ; WM_COMMAND oncmd gosub *OnComboxCmd, $111 objsize 100 combox a, 60, "胡瓜\n林檎\n人参\n葡萄\n茄子\n南瓜\n玉葱" hCombox = objinfo (stat, 2) return ;;;;;;;;;;;;;;;;;; begin MENU program ;;;;;;;;;;;;;;;;;;;; ;▼メッセージの処理 (WM_COMMAND) *OnMenuCmd if lparam != 0 : return itemID=LOWORD(wparam) *PopSelect ; switch itemID case 1100 goto *owari swbreak case 2100 goto *owari swbreak default swbreak swend return ;▼メッセージの処理 (WM_RBUTTONDOWN) *OnRbtClick SelectMenu 1 TrackPopup_Menu -1,-1 : itemID=stat gosub *PopSelect return ;▼メニューバーの設定処理 *MenuProc ;▼メニューの設定 ;--------------------------------------------- hmenu(1)=Create_Menu(1) Append_Menu "End",1100 hmenu(2)=Create_Menu(2) Append_Menu "閉じる Ctrl+Q",2100 ;▼メニューバー hmenu(0)=Create_Menu(0) Append_Menu "Help",2,MF_POPUP SetMenumode 1 ;//メニュー表示 return ;;;;;;;;;;;;;;;; end MENU program ;;;;;;;;;; *OnComboxCmd ;;;;;;;;;;;;;;;; if lparam = 0 : return ; lparamにはコンボボックスのハンドルが返る if lparam = hCombox { ; wparamの上位ワードには通知コードが返る wNotifyCode = wparam >> 16 & $FFFF ; 通知コード1の場合は選択状態変化 if wNotifyCode = 1 { dialog "ABCD" } } return ;;;;;;;;;;;;;;;; *main onexit goto *owari combobox oncmd gosub *OnMenuCmd, WM_COMMAND oncmd gosub *OnRbtClick,WM_RBUTTONDOWN gosub *MenuProc oncmd gosub *OnComboxCmd, WM_COMMAND stop *owari end