独学プログラミング演習
メニュー項目、および選んだ場合の処理
テキスト | 処理 |
---|---|
Show | ウィンドウの表示/非表示を切り替える |
Quit | アプリケーションを終了する |
ShowとQuitの間には、セパレータを設ける
MenuBuilder::new().build()
let tray_menu = MenuBuilder::new(app).items(&[&toggle]).build()?;
Menu::new()
let traymenu = Menu::new();
作成方法
MenuItemBuilder::with_id().build()
let toggle = MenuItemBuilder::with_id("toggle", "Toggle").build(app)?;
CustomMenuItem::new()
let toggle = CustomMenuItem::new("toggle","Toggle");
メニューへの追加方法
作成した項目
MenuBuilder.item(MenuItemBuilder)
traymenu.item(&toggle);
Menu.add_item(CustomMenuItem)
traymenu.add_item(toggle);
Tauriが提供する項目
MenuBuilder.item(PredefinedMenuItem)
traymenu.item(&PredefinedMenuItem::separator(app)?);
Menu.add_native_item(MenuItem)
traymenu.add_native_item(MenuItem::Separator);
イベント定義方法
.on_menu_event(move |app, event| match event.id().as_ref() {
// 項目と処理の紐づけ
})
項目と処理の紐づけ方法
<項目> => {
[処理記述]
}
"toggle" => {
println!("toggle clicked");
}
_ => (),
if let Some(webview_window) = app.get_webview_window("main") {
let _ = webview_window.show();
let _ = webview_window.set_focus();
}
traymenu.item(&PredefinedMenuItem::quit(app, None)?);