PopupMenuの不具合?

  1. こんにちは。

    ちょっと、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

     |  手石  |  返信
  2. > あ、私の環境が原因という可能性もありますね……。
    私の環境でも再現したので,環境依存の可能性は低そうですよ!

    > 下記のマクロを実行して、最初のポップアップメニューでメニュー外をクリックする(選択しない)
    > と、その後のTrack(0)のPopupMenuは、返り値ゼロで素通りしてしまいます。
    マウスクリックのメッセージ処理あたりに原因が有りそうな気がします.
    mePosMouse の場合はマウス位置にメニューが出現するのでクリックイベントを処理してもフォーカスが外れず,0 指定の場合はメニュー出現位置がマウスから外れるので,メニュー出現直後にフォーカスが外れてメニュー処理終了.
    0 指定でスルーされる場合も一瞬メニューが見えるのでメニューの作成はされているようですし.
    Alert() 表示すると,そこでクリックイベントが一旦クリアされているんじゃないかと...

    マクロが登録されることを期待しまして,マクロライブラリへの投稿方法を簡単にですが記載しておきます.

    1. Mery Wiki を開く
    2. 右上の「ログインまたはアカウントの作成」でログイン,またはアカウントを作成
    3. マクロライブラリのページを開いて,右上の「編集」でページの編集モードに入る
      適当にリンクを追加(別の行をコピーして少し内容を変更すればOK)
      下の「ページを保存」を押す
      上に確認用の入力を求められるので,入力(ひらがなで入力すれば良い)
      入力したら下の「ページを保存」を再度押せば保存完了
    4. マクロライブラリのページの,追加したリンクをクリック
      新規ページの作成画面になるので,記事を書いて 3. のように保存する
      コードの貼り付け方などは,他のページを「編集」で開いて参考にすればOK

    ※ファイルのアップロードは,編集画面に左メニューにある「ファイルをアップロード」から
      リンクの仕方も既存のページの流用で.ファイル名だけ合わせればOK

     |  ks  |  返信
  3. こんばんは。

    > 私の環境でも再現したので,環境依存の可能性は低そうですよ!
    検証ありがとうございます。ちょっと、ホッとしました。

    > マクロが登録されることを期待しまして,マクロライブラリへの投稿方法を簡単にですが記載しておきます.
    こちらもありがとうございます。たいしたものではありませんが、近いうちに……。

    それでは。

     |  手石  |  返信