ダイアログ


*std-control-default-char*

type: Variable
package: editor
file: defs.l
select-bufferやダイアログのリストボックスで、デフォルト選択用の
キャラクタを設定します。

使用例:
  (setq *std-control-default-char* #\RET)

[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

*std-control-down-char*

type: Variable
package: editor
file: defs.l
select-bufferやダイアログのリストボックスで、下方向に移動するキ
ャラクタを設定します。

使用例:
  (setq *std-control-down-char* #\C-n)

seealso: *std-control-up-char*
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

*std-control-next-char*

type: Variable
package: editor
select-bufferやダイアログのリストボックスで、
ページダウンするキャラクタを設定します。

使用例:
  (setq *std-control-next-char* #\C-v)

seealso: *std-control-prior-char*
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

*std-control-prior-char*

type: Variable
package: editor
select-bufferやダイアログのリストボックスで、
ページアップするキャラクタを設定します。

使用例:
  (setq *std-control-prior-char* #\C-u)

seealso: *std-control-next-char*
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

*std-control-up-char*

type: Variable
package: editor
file: defs.l
select-bufferやダイアログのリストボックスで、上方向に移動するキ
ャラクタを設定します。

使用例:
  (setq *std-control-up-char* #\C-p)

seealso: *std-control-down-char*
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

dialog

type: Function
arguments: dialog X Y W H &rest CONTROLS
package: lisp
ダイアログを定義します。

  X Y      : ダイアログの表示位置を指定します。
  W H      : ダイアログの大きさを指定します。
  CONTROLS : コントロールを指定します。

コントロールをxyzzyで作成するのは面倒なので、VisualC++のリソース作成画面
で、部品を配置して変換する方法が用意されています。新しくバッファを作って 
*.rcファイルから必要な部分を持ってきた後で、

  M-x convert-dialog-template-buffer

バッファ名を選択するとlisp形式に変換されます。

seealso: dialog-box
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

dialog-box

type: Function
arguments: dialog-box TEMPLATE INITIAL-VALUE CHECK-OR-DISABLE
package: editor
file: builtin.l
ダイアログボックスを表示します。ダイアログはdialogで定義されたものを使います。

  TEMPLATE :
      lispの形式で記述されたダイアログテンプレートを指定します。
      詳細は、関数dialogを参照してください。

  INITIAL-VALUE :
      エディトボックス等に入れる、文字列などを指定します。
      特に指定しない場合はnilでもかまいません。

  CHECK-OR-DISABLE :
      チェックボックス等の初期選択状態を指定します。
      特に指定しない場合はnilでもかまいません。

戻り値は多値なので、 multiple-value-bind 等で受け取る必要があります。1番
目の戻り値は、cancelボタンが押されたらnil、okボタンが押されたらtが返ります。
  
使用例:
  ;;; テスト用のダイアログを定義します。
  (setq *test-dialog-template*
    `(dialog 0 0 300 100 
             (:caption "について")
             (:font 9 "MS Pゴシック")
             (:control
              (:static nil nil #x50020003 7 7 18 21)
              (:static nil ,(concat "XYZZY version "
                                    (software-version))
               #x50020000 34 7 92 8)
              (:static nil "Copyright (C) 1996, 97 T.Kamei"
               #x50020000 34 17 92 8)
              (:button IDOK "OK" #x50010001 52 35 36 14))))

  ;;; テスト用のダイアログを表示します。
  (defun test-dialog ()
    (interactive)
    (dialog-box *test-dialog-template* nil nil)
    t)

seealso: dialog
seealso: file-name-dialog
seealso: directory-name-dialog
seealso: drive-dialog
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

directory-name-dialog

type: Function
arguments: directory-name-dialog &key :title :default
package: editor
file: builtin.l
ディレクトリを指定するダイアログを表示します。
ユーザーが指定したディレクトリを返します。
  
  :title   : ダイアログのタイトル
  :default : 初期表示するディレクトリ

使用例:
  ;;; ミニバッファからディレクトリ名を読み取る。
  (directory-name-dialog)
  => "C:/applications/xyzzy/site-lisp"

seealso: file-name-dialog
seealso: read-directory-name
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

drive-dialog

type: Function
arguments: drive-dialog &optional DRIVE
package: editor
file: builtin.l
ドライブ選択のダイアログを表示します。DRIVEで初期表示するドライブを選択
できます。選択したドライブのドライブ文字がキャラクタで返されます。

使用例:
  (drive-dialog)
  => #\R

seealso: file-name-dialog
seealso: directory-name-dialog
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

file-name-dialog

type: Function
arguments: file-name-dialog &key :char-encoding :eol-code :filter :filter-index :title :default :extension :save :multiple :must-exist :explorer :hide-read-only :initial-directory
package: editor
file: builtin.l
ファイルを指定するダイアログを表示します。
ユーザーが指定したファイルを返します。多値で返します。
(詳細不明)

  :char-encoding        文字コード指定プルダウンメニューを表示
  :eol-code             改行コード指定プルダウンメニューを表示
  :filter               ファイルの種類リスト
  :filter-index         (詳細不明)
  :title                ダイアログのタイトル
  :default              デフォルトのファイル名
  :initial-directory    初期表示するディレクトリ
  :extension            (詳細不明)
  :save                 non nilならファイル名を付けて保存?
  :multiple             non nilなら複数ファイル指定可
  :must-exist           non nilなら存在しないファイルを指定できない
  :explorer             (詳細不明)
  :hide-read-only       Read Onlyなファイルを表示しない?

使用例:
  ;;; タイトルをFooにして、複数選択可能なダイアログを表示する。
  (file-name-dialog :title "Foo"
                    :multiple t
                    :filter '(("すべてのファイル(*.*)" . "*.*")))
  => ("C:/applications/xyzzy/xyzzycli.exe")

seealso: directory-name-dialog
seealso: open-file-dialog
seealso: read-directory-name
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

ime-register-word-dialog

type: Function
arguments: ime-register-word-dialog
package: editor
file: kanji.l
単語/用例登録ダイアログを表示します。[C-c C-r]
セレクションがあれば、セレクションの文字列を語句とします。

[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

mark-dialog-box

type: Function
arguments: mark-dialog-box
package: editor
file: gmark.l
マークダイアログを表示します。[C-F2]

マークダイアログからは、グローバルマークを設定することができ、複数のポイ
ント間を移動することができます。

  移動   : 選択したマークに移動します。
  追加   : マークを追加します。
  削除   : 選択したマークを削除します。
  全削除 : 全てのマークを削除します。

[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

message-box

type: Function
arguments: message-box MESSAGE &optional TITLE STYLES &key :button1 :button2 :button3 :button4 :button5 :no-wrap
package: editor
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
seealso: msgbox
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

msgbox

type: Function
arguments: msgbox FMT &rest ARGS
package: editor
file: misc.l
メッセージボックスを表示します。
[OK] ボタンとインフォメーションアイコンが表示されます。

  FMT  : format の出力書式と同じものを指定できます。
  ARGS : 出力書式へのパラメタとなります。

戻り値は :ok となります。

使用例:
  ;;; 出力書式で整形してみる。
  (msgbox "このバッファは ~A です。" buffer-mode)
  => :ok

seealso: message-box
seealso: format
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

no-or-yes-p

type: Function
arguments: no-or-yes-p FMT &rest ARGS
package: lisp
file: misc.l
「はい」「いいえ」のボタン付メッセージボックスを表示します。
デフォルトは「いいえ」です。

  t     「はい」を選択
  nil   「いいえ」を選択

使用例:
  ;;; ダイアログを表示して選択させる。
  (no-or-yes-p "foo")
  => t          ; 「はい」を選択

seealso: yes-or-no-p
seealso: y-or-n-p
seealso: yes-no-or-cancel-p
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

print-dialog

type: Function
arguments: print-dialog &optional BUFFER
package: editor
file: builtin.l
指定されたバッファBUFFERの印刷用のダイアログを表示します。

seealso: print-buffer
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

yes-no-or-cancel-p

type: Function
arguments: yes-no-or-cancel-p FMT &rest ARGS
package: lisp
file: misc.l
「はい」「いいえ」「キャンセル」のボタン付メッセージボックスを表示します。
デフォルトは「はい」です。「キャンセル」を選択した場合には、quitが実行されます。

  t     「はい」を選択
  nil   「いいえ」を選択

使用例:
  ;;; ダイアログを表示して選択させる。
  (yes-no-or-cancel-p "foo")
  => t          ; 「はい」を選択
  (yes-no-or-cancel-p "foo")
  => nil        ; 「いいえ」を選択

seealso: yes-or-no-p
seealso: no-or-yes-p
seealso: y-or-n-p
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]

yes-or-no-p

type: Function
arguments: yes-or-no-p FMT &rest ARGS
package: lisp
file: misc.l
「はい」「いいえ」のボタン付メッセージボックスを表示します。デフォルトは
「はい」です。

  FMT  : format同様の書式が指定できます。
  ARGS : 出力書式へのパラメタとなります。

戻り値は以下のとおりです。

  t     「はい」を選択
  nil   「いいえ」を選択

使用例:
  ;;; ダイアログを表示して選択させる。
  (yes-or-no-p "foo")
  => t          ; 「はい」を選択
  (yes-or-no-p "~A" "hogehoge")  
  => nil        ; 「いいえ」を選択

seealso: no-or-yes-p
seealso: y-or-n-p
seealso: yes-no-or-cancel-p
seealso: message-box
[ Intro | 目次 | 索引 | 目的別 | ダイアログ ]