広告

ホーム > 全ての記事一覧 >

「ブラウザコンポーネントでソフトウェアのUIを設計する話」の続きの話

投稿日:2018年12月23日 (日)

この記事は、「プロ生ちゃん Advent Calendar 2018」 第23日目の投稿です。

まず初めに



プログラミング生放送勉強会 第57回@名古屋、今年はWindowsネイティブのコードとウェブブラウザを連携させてウェブアプリ風UIを設計するセッションをしました。
その中で挙げていた幾つかの問題点がこの1ヶ月間で解決したので、今回はプロ生ちゃんのマンガ「すぱこー」の1コマを交えてそれらを解説しようと思います。
細かい話はSlideShareの資料で確認して下さい。(他力本願)

右クリックメニューを使えるようにする



IE標準の右クリックメニュー(「OneNoteに送る」など)が出ると例外処理が面倒なので、基本はJavaScriptで封印します。



しかし、テキストボックス上でコピー&ペーストしたい時など、「右クリックメニューが使えた方が便利な場合」もありますよね。

そこでjQueryのイベントと変数を組み合わせ、テキストボックスをフォーカスしている時のみ右クリックメニューが表示されるように改良しました。



ショートカットキーに対応させる



「Ctrl+X」や「Ctrl+V」などのショートカットキーは非常に便利ですが、IEコンポーネントでは使えません。(環境によっては使えます)
これに関しては、Windows側のプログラムで(ここではHSP3)キー入力を判定し、「ExecWB」コマンドをIEに送信することで解決できます。



処理落ちを改善する



パソコンの性能にも左右されますが、IEコンポーネントを使う以上避けられない問題です。
中でもjQueryのアニメーション効果はトップクラスに処理落ちします。表示されてからすぐ閉じられるダイアログなど、短時間で繰り返されるアニメーションは避けた方が良いです。

その他

HTMLファイルがブラウザコンポーネントに読み込まれる前にHTML内部の情報(divなど)を取得しようとするとエラーが出ます。
無い物を要求しているので当然です。ブラウザコンポーネントには読み込み完了を検知できるイベント「DISPID_NAVIGATECOMPLETE2」があるので、有効に使いましょう。


まとめ

「右クリックメニュー」「ショートカットキー」の2つが使えるようになった事で、理論上は「使える」ソフトが開発できるようになったと思います。ブラウザコンポーネント、皆さんも試してみて下さい。
そもそもIEを使うことに難が(ry

プロ生ちゃん Advent Calendar 2018」 明日の担当はNIPPONPONさんです。お楽しみに!

広告



記事検索