最終更新日 2025-03-31

秀丸エディタ・自動でも終了するメッセージボックス

概要

秀丸のマクロを作っていると、「メッセージボックス」を出すことがよくあります。

情報の告示や、マクロのデバッグ時など、メッセージボックスは最も頻繁に利用される機能のひとつでしょう。

さて、
メッセージボックスは、一度表示すると、ボタンを押すまでは閉じないモノだと思われているかもしれませんが、
そんなことはありません。

この自動終了式のメッセージボックスは、ボタンを押さなかったとしても、指定した時間で終了する
そんな特殊なメッセージボックスです。

ダウンロード

更新日 2025/03/31
HmTimerMessageBox.zip ver 1.001

動作環境

インストール

HmTimerMessageBox.exeの単独での使い方

秀丸のマクロを見れば、わかることなのですが、秀丸マクロ経由に限らず
このHmTimerMessageBox.exeは単独でも使えます。

HmTimerMessageBox.exeのコンソールコマンド例

HmTimerMessageBox.exe "本文だけあれば最低限は表示される"
HmTimerMessageBox.exe "本文はこれこれこれ" "次はタイトルだ!!"
HmTimerMessageBox.exe "本文はこれこれこれ" "次はタイトルだ!!" 34
// 34 というのは、ボタンのパターンやアイコンの種類、などなど。
// HmTimerMessageBoxを見ればわかりますが、
// #MB_ICONQUESTION(=0x20=32)と、#MB_ABORTRETRYIGNORE(=0x2=2)で、合計34です。
// マクロ内では16進数で表記されており、ビットOR演算子を使って複数の状態を表現しています。
// (win32のC/C++プログラムでよくみられる手法です)
HmTimerMessageBox.exe "本文はこれこれこれ" "次はタイトルだ!!" 54 5000
// 最後の5000というのは、5000ミリ秒(すなわち5秒)のこと。

マクロ上でのソース例

call HmDclreMessagePrm;
call HmTimerMessageBox "数秒で自動で閉じるダイアログ", "自動で閉じるダイアログ",
                     (#MB_ABORTRETRYIGNORE|#MB_ICONINFORMATION|#MB_DEFBUTTON2), 4000;

if (##return == #IDTIMEOUT) {
  message("未選択のまま時間ぎれ");
}

if (##return == #IDRETRY) {
  message("再トライを選択しました");
}

if (##return == #IDCANCEL) { // 実際には「#MB_ABORTRETRYIGNORE」では、このようなボタンがくることはない。
  message("キャンセルボタンを選択しました");
}


endmacro;

HmTimerMessageBox.macとは

HmTimerMessageBoxJS.macとは

ライセンス等