次: Pointer Shapes, 前: Pop-Up Menus, 上: Frames
対話ボックスはポップアップメニューの変形です。
少々異なって見えますが、フレームの中央につねに現れ、
たった1つのレベルで1つのペインです。
対話ボックスの主な用途は、
ユーザーが『yes』、『no』、および他の少数の選択肢で答えるような
問い合わせを行うためです。
関数y-or-n-p
とyes-or-no-p
は、
マウスクリックで起動されたコマンドから呼ばれると
キーボードではなく対話ボックスを使います。
この関数は、対話ボックスを表示し、 ユーザーが選んだ選択肢を表す指示子を返す。 引数contentsは表示する選択肢を指定し、つぎの形である。
(title (string . value)...)これは、
x-popup-menu
に対して単一のペインを指定するリストに似ている。戻り値は、選ばれた選択肢のvalueである。
リストの要素は、
(
string.
value)
の形の コンスセルのかわりに単に文字列でもよい。 そうすると、対話ボックスでは選択できなくなる。リストに
nil
が現れると、それは左側の項目と右側の項目を区切る。nil
のまえの項目は左側に現れ、nil
に続く項目は右側に現れる。 リストにnil
を含めなければ、項目のほぼ半分がそれぞれの側に現れる。対話ボックスはフレームの中央につねに現れ、 引数positionはそのフレームを指定する。 可能な値は
x-popup-menu
と同様であるが、 正確な座標は関係なくフレームだけが意味を持つ。場合によっては、Emacsは本当の対話ボックスを表示できない。 そのときにはフレームの中央にポップアップメニューで同じ項目を表示する。