Xojo で ContextualMenu を使うやり方。こちらも初見殺しだったので備忘録。
Xojo 2019 r3.1/3.2 の Web1.0 上の操作で過去のAPI。ここらへんのレガシーなノウハウや調べる手段は徐々に失われているみたい。かといって Xojo 2020 以降の Web2.0 系はまだ実用レベルではないようなので、自衛でメモ。
方法
ListBox を作り、Shown アクションハンドラを追加する。
Var menu As New WebMenuitem
menu.Append(New WebMenuItem("編集"))
menu.Append(New WebMenuItem("削除"))
menu.Append(New WebMenuItem("キャンセル"))
Me.ContextualMenu = menu
dim hitItem as WebMenuItem
ContextualMenuAction アクションハンドラを追加する。
Select Case Item.Text
Case "編集"
If Me.ListIndex < 0 Then
MessageBox("リストから選択してください")
Else
// ...
End If
Case "削除"
If Me.ListIndex < 0 Then
MessageBox("リストから選択してください")
Else
Me.RemoveRow(Me.ListIndex)
End If
End Select
実行結果
右クリックでメニューが表示されます。Ye-151を削除します。
削除されました。
このやりかたはメニューの表示や非表示などの処理は必要ありません。
発展形
このサンプルでは編集処理はコメントアウトしています。編集するには入力UIが必要であるが、入力ウィンドウをポップアップするとすると以下あたりを使って作成することになります。
「旧 Xojo( Web1.0 ) で WebContainer を使う」
https://qiita.com/nanbuwks/items/02da6e3e41ab74c2dc2e
関連投稿
See also:
「Xojo 2019 → 2020 Webアプリの相違点」
https://qiita.com/nanbuwks/items/57ccf07ee9fffec145d3
おまけ
Ye-151 を削除したのは、無茶な計画で実機作成に至らなかったからです。
Ye-150 シリーズは自動迎撃を行う高高度超音速戦闘機ですが、そのバリエーションの Ye-151 は、TKB-495 またはマカロフ TKB-539 砲を装備していました。しかしながら、マッハ 3 に迫る高速飛行中に、砲システムは機能しないはずです。
驚愕することに、この砲システムは驚異のメカニズムを備えていたそうです。
傾斜台の回転リングに取り付けられた。マウントは±30°傾けることができ、取り付けリングは360°回転することができ、取り付けリングの中心線の周りの60°の円錐形の範囲を攻撃可能であった。
( https://ja.wikipedia.org/wiki/Ye-150_(%E8%88%AA%E7%A9%BA%E6%A9%9F) )
単に機体軸に並行して取り付けた機銃であればわかりますが、60°の円錐形の範囲を攻撃可能ということは機種のマッハコーンに収納してたのではないか? 発射煙でストール必至では?
攻撃範囲が 60°の円錐形というのも理解が追いつきません。XB-70 や SR-71 などの脅威を排除するためにはこのようなものは必要ないはずです。劣悪な運動性能を補うためのドッグファイトに備えるとしても、レーダー連動でなければならないはずでそれを収めるためのマッハコーンは砲システムでふさがっています。
高高度から前線支援まで万事こなすマルチロールファイターを目指したのでしょうか。Mig-23 に対する Mig-27 のように、地上攻撃用の別バージョンなのでしょうか? しかしどうやらそうではなさそうで、高速高高度迎撃システムであるウラガン-5システムの武装オプションとして、 空対空ミサイル や 無誘導ロケット に加えて傾斜回転式台座の30 mm機関砲 x 2 が含まれていたそうです。警告射撃のために使うつもりだったのでしょうか?
案の定、実機製造はされなかったということで、今回のリストから削除対象になりました。