TFindDialog(検索ダイアログ)の使い方
■TFindDialogを使う手順
- TFindDialogのOptionsプロパティで表示するコントロールを設定します。
- TFindDialogのExecute()メソッドでダイアログを表示します。
- TFindDialogのOnFind()イベントで検索処理を行います。
■TFindDialogの表示設定
Optionsプロパティで表示する項目を設定できます。
- frDisableMatchCase
検索ダイアログの[大文字と小文字を区別する]チェックボックスを無効(グレー表示)にするFindDialog1->Options << frDisableMatchCase;
-
frDisableUpDown
検索の方向を指定する[Up]ボタンおよび[Down]ボタンを無効(グレー表示)にする。FindDialog1->Options << frDisableMatchCase;
-
frDisableWholeWord
検索ダイアログの[単語単位で探す]チェックボックスを無効(グレー表示)にするFindDialog1->Options << frDisableWholeWord;
-
frDown
ダイアログが開くときにデフォルトで[Down]ボタンを選択する。frDown フラグがオフの場合は,[Up]が選択される。デフォルトでは frDown はオンFindDialog1->Options >> frDown;
-
frHideMatchCase
ダイアログの[大文字と小文字を区別する]チェックボックスを削除するFindDialog1->Options << frHideMatchCase;
-
frHideWholeWord
ダイアログの[単語単位で探す]チェックボックスを削除するFindDialog1->Options << frHideWholeWord;
-
frHideUpDown
ダイアログの[Up]ボタンと[Down]ボタンを削除するFindDialog1->Options << frHideUpDown;
-
frShowHelp
[ヘルプ]ボタンがダイアログボックスに表示されるFindDialog1->Options << frShowHelp;
■TFindDialogのイベント処理
TFindDialogのExecute()メソッドを呼ぶと、ダイアログを表示します。
FindDialog1->Execute();
次を検索]ボタンが押された時、OnFindイベントが発生します。
OnFindイベントに検索処理を記述することになります。
void __fastcall TForm1::FindDialog1Find(TObject *Sender)
{
…
}
ダイアログのコントロールの状態は、Optionsプロパティで知ることができます。
- 検索する方向
Optionsプロパティに[frDown]があれば[下へ]が選択されています。
なければ[上へ]が選択されています。if (FindDialog1->Options.Contains(frDown)) Memo1->Lines->Add(L"下へ"); else Memo1->Lines->Add(L"上へ");
- 大文字と小文字を区別する
Optionsプロパティに[frMatchCase]があれば[大文字と小文字を区別する]が選択されています。
if (FindDialog1->Options.Contains(frMatchCase)) Memo1->Lines->Add(L"大文字と小文字を区別する"); else Memo1->Lines->Add(L"大文字と小文字を区別しない");
- 単語単位で探す
Optionsプロパティに[frWholeWord]があれば[単語単位で探す]が選択されています。if (FindDialog1->Options.Contains(frWholeWord)) Memo1->Lines->Add(L"単語単位で探す"); else Memo1->Lines->Add(L"単語単位で探さない");
- 検索する文字列
[検索する文字列]欄に入力された文字は、FindTextプロパティで取得できます。UnicodeString text = FindDialog1->FindText;