ダイアログ

以下に示すいくつかの関数は,ユーザから入力を得たりメッセージを 表示したりするための便宜関数です.こうした関数では,末尾の三つの パラメタがオプションになっています.とはいえ,親フレームウィンドウを 指定するパラメタを渡しておくよう勧めます.さもないと,(MS Windows や Motif で) ダイアログボックスがポップアップする際に間違ったウィンドウが 手前に来てしまうことがあります.



::wxBeginBusyCursor



void wxBeginBusyCursor(wxCursor * cursor = wxHOURGLASS_CURSOR)

アプリケーション内の全てのウィンドウに対して,カーソルを指定した カーソルに変更します.カーソルを以前の状態に戻すには wxEndBusyCursor を使ってください. この二つの関数の組み合わせはネストでき,カウンタの働きによって ネストの外側での呼び出しのみが有効になります.

See also wxIsBusy, wxBusyCursor.

Include files

<wx/utils.h>



::wxBell



void wxBell(void)

システムベルを鳴らします.

Include files

<wx/utils.h>



::wxCreateFileTipProvider



wxTipProvider * wxCreateFileTipProvider(const wxString& filename, size_t currentTip)

wxShowTip で利用するための wxTipProvider を生成します.

filename
豆知識 (tips) が入っているファイルの名前です.ファイルには一行に一つづつ豆知識を入れます.
currentTip
最初に表示する豆知識へのインデクスです - 通常,この インデクスは次回に起動するときまで記憶しておくものです.

See also

Tip の概要

Include files

<wx/tipdlg.h>



::wxDirSelector



wxString wxDirSelector(const wxString& message = wxDirSelectorPromptStr,
const wxString& default_path = "",
long style = 0, const wxPoint& pos = wxDefaultPosition,
wxWindow * parent = NULL)

ディレクトリ選択ダイアログをポップアップします.各引数は wxDirDialog::wxDirDialog() と同じ意味を持ちます.メッセージはダイアログの 一番上に表示されます. default_path を指定すると初期値になります.

アプリケーションは,戻り値が空 (ユーザがキャンセル (Cancel) を押した場合) になっていないか調べねばなりません.以下に例を示します:

const wxString& dir = wxDirSelector("Choose a folder");
if ( !dir.empty() )
{
  ...
}

Include files

<wx/dirdlg.h>



::wxFileSelector



wxString wxFileSelector(const wxString& message, const wxString& default_path = "",
const wxString& default_filename = "", const wxString& default_extension = "",
const wxString& wildcard = "*.*", int flags = 0, wxWindow * parent = NULL,
int x = -1, int y = -1)

ファイル選択ダイアログボックスをポップアップします. Windows では, 通常使われているファイル選択ダイアログになります. X では,同様の 機能を備えたファイル選択ボックスになります.

パス path とファイル名 filename は,完全なファイルパス名を構成する 別々の要素です. path が空文字列の場合,現在のディレクトリを使います. filename が空文字列 の場合,デフォルトのファイル名を指定しないことになります. ワイルドカード wildcard には,ファイル選択ダイアログに表示されるファイルの 種類を指定し, extension にはファイルの拡張子を指定します. フラグ flags は wxOPEN, wxSAVE, wxOVERWRITE_PROMPT, wxFILE_MUST_EXIST, wxMULTIPLE の組み合わせか,または 0 にします.

ワイルドカードフィルタは Unix と Windows の両方で実装されています. ファイル名の項目にワイルドカード (*, ?) の入ったファイル名を入力し, OK をクリックすると,パターンに一致するファイルが表示されます.

ワイルドカードは例えば:

 "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"

のように,複数のファイルタイプを指定するようにでき, それぞれに説明をつけられます.

アプリケーションは,戻り値が空 (ユーザがキャンセル (Cancel) を押した場合) になっていないか調べねばなりません.以下に例を示します:

wxString filename = wxFileSelector("Choose a file to open");
if ( !filename.empty() )
{
    // work with the file
    ...
}
//else: cancelled by user

Include files

<wx/filedlg.h>



::wxEndBusyCursor



void wxEndBusyCursor(void)

アプリケーションの全てのウィンドウで,カーソルをもとのカーソルに戻します. wxBeginBusyCursor と一緒に使ってください.

wxIsBusy, wxBusyCursor も参照してください.

Include files

<wx/utils.h>



::wxGetColourFromUser



wxColour wxGetColourFromUser(wxWindow * parent, const wxColour& colInit)

色選択ダイアログを表示し,ユーザが選択した色を返します. ユーザがダイアログをキャンセルした場合には無効な色 (色が有効かどうかは wxColour::Ok を使って判別 してください) を返します.

Parameters

parent
色選択ダイアログの親ウィンドウです.

colInit
指定すると,初期値として選択されている色になります.

Include files

<wx/colordlg.h>



::wxGetFontFromUser



wxFont wxGetFontFromUser(wxWindow * parent, const wxFont& fontInit)

フォント選択ダイアログを表示し,ユーザが選択したフォントを返します. ユーザがダイアログをキャンセルした場合には無効なフォント (フォントが有効かどうかは wxFont::Ok を使って判別 してください) を返します.

Parameters

parent
フォント選択ダイアログの親ウィンドウです.

fontInit
指定すると,初期値として選択されているフォントに なります.

Include files

<wx/fontdlg.h>



::wxGetMultipleChoices



size_t wxGetMultipleChoices(
wxArrayInt& selections,
const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
wxWindow * parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)



size_t wxGetMultipleChoices(
wxArrayInt& selections,
const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
wxWindow * parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)

メッセージ, OK/キャンセルボタンおよび複数同時選択可能なリストボックス からなるダイアログボックスをポップアップします. ユーザは任意個数 (0 個も可) の要素をリストボックスから選べます. 選んだ要素のインデクスを selection アレイに返します. アレイの初期値は,ダイアログを表示した際に選択されている要素を 決めるのに使われます.

選択肢のラベルとなる文字列のリストは,choicesn 個の 文字列を指定しても,aChoiceswxArrayString を指定しても行えます.

centre が真ならば,メッセージテキスト (改行が入っていても かまいません) は中央寄せで表示されます.それ以外の場合には左寄せに なります.

Include files

<wx/choicdlg.h>

wxPerl での注意点: wxPerl では, n および choices の代わりに 配列への参照を渡します.また,selections パラメタをとりません; この関数はユーザの選択内容の入ったアレイを返します.



::wxGetNumberFromUser



long wxGetNumberFromUser( const wxString& message, const wxString& prompt, const wxString& caption, long value, long min = 0, long max = 100, wxWindow * parent = NULL, const wxPoint& pos = wxDefaultPosition)

ユーザに数値の入力を促すダイアログを表示します.ダイアログのタイトルは caption に設定されます.ダイアログはおそらく複数行の message と,その下に prompt と数値を入力する領域からなる一行 から構成されます.

ユーザの入力した数値は min..max (双方とも正の値でなければ なりません) の間の値でなければなりません.また, value は初期値です. ユーザが無効な値を入れたりダイアログをキャンセルした場合,この関数は -1 を返します.

pos に表示位置を明示的に指定しない限り,ダイアログは parent の中央部分に表示されます.

Include files

<wx/numdlg.h>



::wxGetPasswordFromUser



wxString wxGetTextFromUser(const wxString& message, const wxString& caption = ``Input text",
const wxString& default_value = ``", wxWindow * parent = NULL)

wxGetTextFromUser に似ていますが, ダイアログに入力したテキストはスクリーンに表示されず,アスタリスクに 置き換えられます.これは,関数名からも分かるように,パスワードの 入力用のダイアログです.

Include files

<wx/textdlg.h>



::wxGetTextFromUser



wxString wxGetPasswordFromUser(const wxString& message, const wxString& caption = ``Input text",
const wxString& default_value = ``", wxWindow * parent = NULL,
int x = wxDefaultCoord, int y = wxDefaultCoord, bool centre = true)

タイトルが caption,メッセージが messageであり,デフォルトの 内容が default_value であるテキストフィールドを持つ ダイアログボックスをポップアップします.ユーザがテキストフィールドに テキストを入力して OK を押すと,そのテキストを返します.キャンセルを 押すと空文字列を返します.

centre が真ならば,メッセージテキスト (改行が入っていても かまいません) は中央寄せで表示されます.それ以外の場合には左寄せに なります.

Include files

<wx/textdlg.h>



::wxGetMultipleChoice



int wxGetMultipleChoice(const wxString& message, const wxString& caption, int n, const wxString& choices[],
int nsel, int * selection, wxWindow * parent = NULL, int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

タイトルが caption,メッセージが messageであり,複数選択 可能なリストボックスを持つダイアログボックスをポップアップします. ユーザは一つまたはそれ以上のリストアイテムを選択して OK またはキャンセル を押します.

n にはダイアログ表示時に選択されている選択肢の個数を, selection には選択されている選択肢のインデクスからなるアレイを 渡します; 関数の終了時,このアレイにはユーザの選択結果が入り, 関数は選択されているアイテムの個数を返します.selection は 全ての選択肢が選択されても大丈夫なように,十分な大きさを持たねばなりません.

キャンセルを押すと -1 を返します.

choisesn 個の文字列からなるアレイです.

centre が真ならば,メッセージテキスト (改行が入っていても かまいません) は中央寄せで表示されます.それ以外の場合には左寄せに なります.

Include files

<wx/choicdlg.h>



::wxGetSingleChoice



wxString wxGetSingleChoice(const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
wxWindow * parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)



wxString wxGetSingleChoice(const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
wxWindow * parent = NULL,
int x = -1, int y = -1,
bool centre = true,
int width=150, int height=200)

タイトルが caption,メッセージが messageであり,選択肢を 一つしか選べないリストボックスを持つダイアログボックスをポップアップします. ユーザがリストアイテムを一つ選択して OK を押すと,選択されている リストアイテムを文字列で返します.キャンセルを押すと空文字列を 返します.ユーザがキャンセルしたかどうかを確実に検出したければ, この関数が空文字列を返したときに wxGetSingleChoiceIndex を使って 空文字列が有効な選択肢かどうかを調べてください.

選択肢のラベルとなる文字列のリストは,choicesn 個の 文字列を指定しても,aChoiceswxArrayString を指定しても行えます.

centre が真ならば,メッセージテキスト (改行が入っていても かまいません) は中央寄せで表示されます.それ以外の場合には左寄せに なります.

Include files

<wx/choicdlg.h>

wxPerl での注意点: wxPerl では, n および choices の代わりに 配列への参照を渡します.



::wxGetSingleChoiceIndex



int wxGetSingleChoiceIndex(const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
wxWindow * parent = NULL, int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)



int wxGetSingleChoiceIndex(const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
wxWindow * parent = NULL, int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

wxGetSingleChoice と同じですが,選択されたリストアイテムの インデクスを返します.ユーザがキャンセルを押した場合,-1を返します.

Include files

<wx/choicdlg.h>

wxPerl での注意点: wxPerl では, n および choices の代わりに 配列への参照を渡します.



::wxGetSingleChoiceData



wxString wxGetSingleChoiceData(const wxString& message,
const wxString& caption,
const wxArrayString& aChoices,
const wxString& client_data[],
wxWindow * parent = NULL,
int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)



wxString wxGetSingleChoiceData(const wxString& message,
const wxString& caption,
int n, const wxString& choices[],
const wxString& client_data[],
wxWindow * parent = NULL,
int x = -1, int y = -1,
bool centre = true, int width=150, int height=200)

wxGetSingleChoice と同じですが,文字列型のポインタが入った クライアントデータの配列を引数にとります.選択されたリストアイテムに 対応するポインタを返します.ダイアログをキャンセルすると NULL を返します. 配列 client_datachoicesaChoices の要素数と 同じ長さでなければなりません!

Include files

<wx/choicdlg.h>

wxPerl での注意点: wxPerl では, n および choices の代わりに 配列への参照を渡します.また, client_data は choices と同じ 長さでなければなりません.



::wxIsBusy



bool wxIsBusy(void)

wxBeginBusyCursor を呼び出してから wxEndBusyCursor を呼び出すまでの間である 場合に真を返します.

wxBusyCursor も参照してください.

Include files

<wx/utils.h>



::wxMessageBox



int wxMessageBox(const wxString& message, const wxString& caption = ``Message", int style = wxOK,
wxWindow * parent = NULL, int x = -1, int y = -1)

汎用のメッセージダイアログです. style は以下の識別子で表される ビットマスクになります:

wxYES_NO Yes ボタンと No ボタンをメッセージボックスに表示 します. wxCANCEL と組み合わせて使えます.
wxCANCEL キャンセルボタンをメッセージボックスに表示します. wxYES_NO や wxOK と組み合わせて使えます.
wxOK OK ボタンをメッセージに表示します. wxCANCEL と組み合わせて使えます.
wxICON_EXCLAMATION 感嘆符(「!」,exclamation mark) シンボル を表示します.
wxICON_HAND エラーシンボルを表示します.
wxICON_ERROR エラーシンボルを表示します. - wxICON_HAND と同じです.
wxICON_QUESTION 疑問符(「?」,question mark) シンボルを表示 します.
wxICON_INFORMATION 情報シンボルを表示します.

戻り値: wxYES, wxNO, wxCANCEL, wxOK のいずれかです.

以下に例を示します:

  ...
  int answer = wxMessageBox("Quit program?", "Confirm",
                            wxYES_NO | wxCANCEL, main_frame);
  if (answer == wxYES)
    main_frame->Close();
  ...

長いメッセージに対応するよう, message には改行文字を入れられます. その場合,メッセージは複数行に分割されます.

Include files

<wx/msgdlg.h>



::wxShowTip



bool wxShowTip(wxWindow * parent, wxTipProvider * tipProvider, bool showAtStartup = true)

「起動時の豆知識("startup tip")」 をユーザに提示します.戻り値は 次回も起動時に表示する (`Show tips at startup') のチェックボックスの 状態です.

parent
ダイアログの親ウィンドウです

tipProvider
豆知識 (tips) のテキストを取り出すために使う オブジェクトです.関数 wxCreateFileTipProvider を使って 生成できます.

showAtStartup
起動時に豆知識ダイアログを表示する 場合には true にせねばなりません.この値はダイアログの 次回も起動時に表示する (`Show tips at startup') チェックボックス の初期値になります.

See also

Tip の概要

Include files

<wx/tipdlg.h>

ymasuda 平成17年11月19日