message-box

Title
message-box
Type
Function
Arguments
message-box MESSAGE &optional TITLE STYLES &key :button1 :button2 :button3 :button4 :button5 :no-wrap
Package
editor
Section
ダイアログ
File
builtin.l
yes-or-no-p 系よりも柔軟なダイアログを表示します。

  MESSAGE  : ダイアログに表示するメッセージを指定します。
  TITLE    : ダイアログのタイトルを指定します。
  STYLES   : ダイアログのスタイルをリストで指定します。
        :ok                     [OK] を表示します。
        :ok-cancel              [OK][キャンセル] を表示します。
        :yes-no                 [はい][いいえ] を表示します。
        :yes-no-cancel          [はい][いいえ][キャンセル] を表示します。
        :abort-retry-ignore     [中止][再試行][無視] を表示します。
        :information            (i) インフォメーションマークを表示します。
        :exclamation            (!) 感嘆符を表示します。
        :question               (?) 疑問符を表示します。
        :button1                ボタン 1 をデフォルト選択にします。
        :button2                ボタン 2 をデフォルト選択にします。
        :button3                ボタン 3 をデフォルト選択にします。
        :button4                ボタン 4 をデフォルト選択にします。
        :button5                ボタン 5 をデフォルト選択にします。
  :BUTTON1 : ボタン 1 のテキストを変更します。
  :BUTTON2 : ボタン 2 のテキストを変更します。
  :BUTTON3 : ボタン 3 のテキストを変更します。
  :BUTTON4 : ボタン 4 のテキストを変更します。
  :BUTTON5 : ボタン 5 のテキストを変更します。
  :NO-WRAP : MESSAGE が長すぎるときに折り返すかを制御します。
        t       長くとも折り返さない。
        nil     長ければ折り返す。

ボタンを押したときの戻り値は、それぞれ以下のとおりです。

  :ok     [OK] を選択
  :cancel [キャンセル] を選択
  :yes    [はい] を選択
  :no     [いいえ] を選択
  :abort  [中止] を選択
  :retry  [再試行] を選択
  :ignore [無視] を選択

使用例:
  ;;; [はい][いいえ][キャンセル] を表示し選択させます。
  (message-box "メールを送信しますか?" nil
    '(:yes-no-cancel :question :button1))
  => :yes

  ;;; ダイアログの結果を case で場合わけしてみる
  (case (message-box "メールを送信しますか?" nil
                     '(:yes-no-cancel :question :button1))
    (:yes (den8-draft-send t))
    (:no t)
    (t nil))
Seealso
yes-or-no-p
msgbox