4D-JUG
Would you like to react to this message? Create an account in a few clicks or log in to continue.

【プラグイン】アプリを最前面に移動する

Go down

【プラグイン】アプリを最前面に移動する Empty 【プラグイン】アプリを最前面に移動する

投稿 by miyako 2020-03-05, 9:33 pm

SDIモードでウィンドウを表示した場合,そのウィンドウはWindowsのタスクバーに追加されます。

パレット(Palette form window)は追加されませんが,ドキュメント型のパレット(Control form window)であれば,外観は同じでありながら,タスクバーに追加されます。

https://doc.4d.com/4Dv17/4D/17.4/Open-form-window.301-4882709.ja.html
https://doc.4d.com/4Dv17/4D/17.4/SDI-mode-on-Windows.300-4880569.ja.html

タスクバーのアイコンをマウスポインターでなぞると,ウィンドウのプレビューが表示されます。その右上にある「閉じる」ボタンをクリックすると,On Close Boxイベントが発生し,メソッドを実行する機会が与えられます(イベントが有効にされていなければ,そのままウィンドウが閉じられます)。

SDIモードの場合,アプリが表示している最後のウィンドウが閉じられると,タスクバーからアイコンが取り除かれます。Webサーバーなど,バックグラウンドのプロセスが実行されていれば,アプリは終了しませんが,それでもユーザーの目には,終了したように見えます。そこで,ウィンドウが閉じられる前に,アプリを前面に移動し,確認ダイアログを表示したい,と思うかもしれません。

4Dには,アプリが最前面に移動したときに実行されるデータベースイベント(On System event)は存在しますが,アプリを最前面に移動するコマンドは存在しません。

https://doc.4d.com/4Dv17/4D/17.4/On-System-Event-database-method.301-4882461.ja.html

他のアプリから最前面ステータスを奪うことは,一般的に「マナー違反」とされていることを考えれば,これはもっともなことかもしれませんが,前述したようなケースでは,例外的にそうしなければならないかもしれません。そこで,4Dアプリケーションを最前面に移動するプラグインを公開しました。Mac/Windows共通です。

https://github.com/miyako/4d-plugin-activate

miyako

投稿数 : 483
登録日 : 2016/07/05

トップに戻る Go down

トップに戻る

- Similar topics

 
Permissions in this forum:
返信投稿: 不可