|
以下 menuarray で再現マクロ書いてますが menu 文でも同じ挙動となりました
■ パターン@ 見えない要素
$item[0] = "1";
menuarray $item, 1;
message str(result);
表示して Enter => 1
表示して Up, Enter => 0 (これは意図する挙動か?)
上下のメニューアイテムが1つの場合に限り、
非選択(result==0)となる隠し要素があるような挙動
トップメニューにしろ、サブメニューにしろ
表示した時点でデフォルトで先頭のメニューアイテムが選択状態という挙動(おそら
くこれは想定通り)
■ パターンA サブメニュー開いた直後に選択中ハイライトが無い
$item[0] = "1-1";
$item[1] = "\x011-2";
$item[2] = "1-2-1";
$item[3] = "";
menuarray $item, 4;
message str(result);
表示して Enter => result == 1
表示して Up => カーソルが 1-2 に移動
表示して Down, Enter, Enter => 3
表示して Down, Enter, Up, Enter => 0 (これは意図する挙動か?)
パターンAで Down, Enter, してサブメニューを開いた直後に
サブメニューのハイライト(選択中メニューアイテムの黒枠)が表示されない
ことで操作に戸惑いからの調査と報告 (Windows 11 x64)
サブメニュー配下のアイテムを2段にした場合 (上記では1つ追加で要素数5にす
る) は、
サブメニューを開いた後に、カーソル上 or 下 で2番目の要素がハイライトされる
その状態であれば、カーソル選択で1段目もイメージ通りにハイライトされる
■ [メニュー]>[表示(V)]>[折り返し][ルーラーの表示][タブストップ] 3つ
同じ挙動は上記メニューのサブメニュー開いた状態でも発生してる
サブメニューを開いた直後は、選択状態が無いように見えるが
開いた直後に Enter を押すと、最上段のアイテムが選択されたような挙動が起こる
■ 隠し要素? とデフォルト状態
result == 0 となる隠し要素が出現したり、しなかったりで不思議な動作
result == 0 となる隠し要素(がバグではない! のであれば……)
を利用してメニューを表示した直後を非選択状態 (カーソル上下で初めて result !=
0 となる挙動)
というロジックは何かの手順で可能か?
サブメニューについては開いた時点で最上段アイテムが選択状態が普通の気もする
RPA(自動操作)を使っている場合は、挙動の変化によるトラブル起きる事例も発生するが
メニューによる選択操作は目視する人間向けUIの話なので、
あくまで「目視して見て思った通りの結果」が得られるのであれば、
よくあるソフト(OS)バージョン違いによる挙動の違いは許容される と思われる。
Windows アップグレードや Linux のGUIライブラリ変更時あるある
今は目視とは違う不思議な動きが複数ある状況なので、改善を期待します
おま環(私の使っている環境)である場合は、追加情報を改めて報告します
|
|