SourceChordスマートフォン用の表示で見るSourceChordC#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。Node.js今度はElectronのdialogモジュールを使い、いろいろなダイアログ表示をしてみます。↓のドキュメントを参考にやってみます。http://electron.atom.io/docs/v0.34.0/api/dialog/dialogモジュールを使うと、メッセージボックスの表示や、ファイルを開く、ファイルを保存、などのダイアログ表示ができます。このモジュールでは以下のようなメソッドが用意されています。content)このうち、shorErrorBox以外の3つは、若干の違いはありますが呼び出し方は似た感じ。メソッドの引数には以下のようなものを渡します。コールバック関数もう一個の、showErrorBoxは、ダイアログに表示するタイトルと本文を設定するだけのシンプルなものです。ことで、順番にこれらの使い方を見ていきます。ファイル操作系のダイアログまずはファイル系のダイアログ。これらのメソッドでは、実行環境のOSに応じたダイアログ表示をしてくれます。いうos標準のダイアログを使ったり、ファイル操作などが普通にできるってのもいいですね。showOpenDialog・・・ファイルを開くダイアログsaveOpenDialogというメソッドで、ファイルを開く/フォルダを開くダイアログを表示できます。callback])optionsプロパティには以下のような要素を設定します。ファイル選択時のフィルタ設定。その他いろいろ細かな設定filterプロパティには、こんな風にファイル選択時のフィルタ設定をします。}]propertiesには、以下の要素を配列で指定します。createDirectoryの内容は、ドキュメント見ただけではちょっとわかりませんでした。ファイルを選択するダイアログにする。ディレクトリ選択ダイアログにする。・・・こんな風に複数の項目を指定できます。options);showSaveDialog・・・ファイルを保存ダイアログこちらも使い方はだいたい同じです。こちらのoptionsプロパティにはpropertiesの設定はありません。かんたんなコード例だけメモ。options);メッセージボックス系のダイアログshowMessageBox・・・メッセージボックス続いてメッセージボックス。alertメソッドで出すようなのとは違い、いろいろと表示をカスタマイズできるので、何かと使いどころはありそうです。メッセージボックスのタイプを設定する。メッセージボックスのボタンを設定。文字列の配列として設定します。ダイアログに表示するアイコン画像を設定。options);}buttonsプロパティについてbuttonsプロパティは、表示するボタンの定義を文字列の配列として定義します。この時の注意として、「OK」や「Cancel」などのような文字列を設定したときの動作が特殊っぽいので注意が必要です。「OK」「Cancel」「Yes」「No」の文字列を指定した場合は、ダイアログ下部に並んだボタンに表示され、それ以外の文字列を指定したボタンは、ダイアログ中に並びます。options);↓こんな風になります。この辺のbuttonsプロパティの動作については、特にドキュメントにも書かれていないので、ちょっとよくわからん部分。showErrorBox・・・エラーダイアログ最後はエラーダイアログ。エラーダイアログを表示するためのメソッドです。アプリの通常の動作としてはあまり使わないかもしれませんが、覚えておくと、デバッグ用にお手軽で便利かも。ブラウザのalertメソッドが使えない、MainProcess側でちょろっとalertの代わりに使ったりできるかも知れません。"本文");呼び出すとこんな感じのダイアログが表示されます。サンプルボタンを押すと、これらの4種類のダイアログ表示をするサンプルです。MainProcess、RendererProcessはそれぞれこんな感じのコード。メインウィンドウの参照をグローバルに持っておく。ウィンドウを閉じても一般的にアプリ終了はしないので除外。ウィンドウが閉じられたら、ウィンドウへの参照を破棄する。"本文");}同期/非同期呼び出しの切り替えこれらのダイアログボックス系のメソッドは、コールバックが設定されていない場合は同期的な呼び出し、コールバック関数が設定された場合は非同期処理をします。同期的な呼び出し同期的に呼び出す場合は、ダイアログの実行結果をメソッドの戻り値として取得できます。options);alert(result);非同期な呼び出し非同期に呼び出す場合は、コールバック関数の引数にダイアログの実行結果が渡ってきます。アプリ開発Windows開発者はてなブログをはじめよう!minami_SCさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。