PopupMenuの不具合?
-
こんにちは。
ちょっと、PopupMenuの不具合を見つけたっぽいので報告します。
Mery本体の不具合ではなさそうですが、情報共有ということでご容赦ください。下記のマクロを実行して、最初のポップアップメニューでメニュー外をクリックする(選択しない)と、その後のTrack(0)のPopupMenuは、返り値ゼロで素通りしてしまいます。ちなみに、menu4の前にあるAlert()のコメントをはずすと、menu4が表示されるようになるのでフォーカスが関係しているのでしょう。
これは、gpadというエディタでも再現したので、Meryの不具合ではなく、WSH(Jscript)の不具合だと思われます。あ、私の環境が原因という可能性もありますね……。---8X-------
var menu1 = CreatePopupMenu();
menu1.Add("1", 1, 0);
var r1 = menu1.Track(0);var menu2 = CreatePopupMenu();
menu2.Add("2", 2, 0);
var r2 = menu2.Track(0);var menu3 = CreatePopupMenu();
menu3.Add("3", 3, 0);
var r3 = menu3.Track(mePosMouse);// Alert("3>4")
var menu4 = CreatePopupMenu();
menu4.Add("4", 4, 0);
var r4 = menu4.Track(0);Alert(r1 + ", " + r2 + ", " + r3 + ", " + r4)
---8X-------それにしても、Meryは使い易いです。で、マクロが増えれば使う人も増えるかなと考えて、マクロをMery Wikiに登録しようとしたけど、手順が分からず……断念。orz
益々のMery界隈の発展を祈って。
それでは。----------
Mery 2.0.11.3917
windows7 x64| 手石 | 返信 -
> あ、私の環境が原因という可能性もありますね……。
私の環境でも再現したので,環境依存の可能性は低そうですよ!> 下記のマクロを実行して、最初のポップアップメニューでメニュー外をクリックする(選択しない)
> と、その後のTrack(0)のPopupMenuは、返り値ゼロで素通りしてしまいます。
マウスクリックのメッセージ処理あたりに原因が有りそうな気がします.
mePosMouse の場合はマウス位置にメニューが出現するのでクリックイベントを処理してもフォーカスが外れず,0 指定の場合はメニュー出現位置がマウスから外れるので,メニュー出現直後にフォーカスが外れてメニュー処理終了.
0 指定でスルーされる場合も一瞬メニューが見えるのでメニューの作成はされているようですし.
Alert() 表示すると,そこでクリックイベントが一旦クリアされているんじゃないかと...マクロが登録されることを期待しまして,マクロライブラリへの投稿方法を簡単にですが記載しておきます.
1. Mery Wiki を開く
2. 右上の「ログインまたはアカウントの作成」でログイン,またはアカウントを作成
3. マクロライブラリのページを開いて,右上の「編集」でページの編集モードに入る
適当にリンクを追加(別の行をコピーして少し内容を変更すればOK)
下の「ページを保存」を押す
上に確認用の入力を求められるので,入力(ひらがなで入力すれば良い)
入力したら下の「ページを保存」を再度押せば保存完了
4. マクロライブラリのページの,追加したリンクをクリック
新規ページの作成画面になるので,記事を書いて 3. のように保存する
コードの貼り付け方などは,他のページを「編集」で開いて参考にすればOK※ファイルのアップロードは,編集画面に左メニューにある「ファイルをアップロード」から
リンクの仕方も既存のページの流用で.ファイル名だけ合わせればOK| ks | 返信 -
こんばんは。
> 私の環境でも再現したので,環境依存の可能性は低そうですよ!
検証ありがとうございます。ちょっと、ホッとしました。> マクロが登録されることを期待しまして,マクロライブラリへの投稿方法を簡単にですが記載しておきます.
こちらもありがとうございます。たいしたものではありませんが、近いうちに……。それでは。
| 手石 | 返信