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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0806
シン選択されたメニューID2未解決


シン

リンク

2006/8/6(Sun) 11:09:15|NO.1816

ポップアップメニューを作成し、
それが選択されたときのメニューIDを取得したいのですが、


TrackPopupMenu MenuHwndMain,$100,mousex,mousey,0,mhndl,0 dialog ""+stat ;MenuHwndMain 作成したポップアップメニューのハンドル ;mhndl ポップアップウィンドウを表示するウィンドウのハンドル

statの値がメニューIDになりません。
どこかおかしい部分がありますでしょうか?



この記事に返信する


hiro

リンク

2006/8/6(Sun) 23:24:53|NO.1829

提示されたコードからはおかしい部分が無いように思えます。

> statの値がメニューIDになりません。
どの様な値が返ってきてるか判りませんが
statが0の場合、関数は失敗しています(メニューIDに0を指定してなければ)。

想像の域ですが、メニュー作成で失敗してるかもしれません。
各関数の戻り値等のチェックをしてはどうでしょうか?

以下、ID1000のメニューアイテムを作成して
右クリックでメニュー表示するサンプルです。

#include "user32.as" //ポップアップメニューの作成 CreatePopupMenu : MenuHwndMain=stat InsertMenuA MenuHwndMain , 0 , 0x400 , 1000 , "ID:1000" //右クリックでメニュー表示 oncmd gosub *WM_RBUTTONDOWN , 0x204 stop *WM_RBUTTONDOWN //※第3,4引数はスクリーン座標を指定なので変更してみました mhndl=hwnd TrackPopupMenu MenuHwndMain,$100,ginfo(0),ginfo(1),0,mhndl,0 dialog ""+stat return



シン

リンク

2006/8/7(Mon) 11:17:13|NO.1835

一応メニューは正常に表示されるのですが、どこかに問題があるかもしれません。
もう一度調べてみます。
サンプルまで掲示していただいて、ありがとうございました。



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