|
Delphi2010 拡張コンボボックス(ComboBoxEx) 2010/10/24 |
前回は[Win32]内の「PageScroller」(ページスクローラー)について見ましたので、今回は同じく[Win32]内の「ComboBoxEx」(拡張コンボボックス)について見てみます。拡張コンボボックスは Delphi6 にもあります。拡張コンボボックスは、コンボボックス(ComboBox)を拡張したもので、ドロップダウンリスト内の文字にインデントを付けたり、イメージリストを指定してアイコン画像をつけたりすることが出来るコンポーネントです。
それではまず、拡張コンボボックスを配置してみます。1つ目ですので Nameプロパティは「ComboBoxEx1」となります。
以下、通常のコンボボックスと異なるところを見ていきます。
Actionプロパティは、アクションリスト(ActionList)と共に利用し、どのアクションに関連付けるのかを指定します。指定するとその内容が Textプロパティに反映されます(Styleプロパティが「csExDropDownList」「csExSimple」の場合は無効)。但し、アクションリストは OnClickイベントと関連付けられるため、拡張コンボボックスで OnClickイベントが発生するためには、項目リスト(ItemsExプロパティ)をちゃんと入れておく必要があります。
AutoCompleteOptionsプロパティは、自動補完を制御するオプション指定です。以下のものがあります(ヘルプより)。
acoAutoSuggest | 自動候補のドロップダウンリストを有効にする。 |
acoAutoAppend | 自動アペンドを有効にする。 |
acoSearch | 検索項目を補完済み文字列のリストに追加する。この項目を選択すると検索エンジンが起動する。 |
acoFilterPrefixes | 「www」や「http://」のような一般的なプレフィクスにマッチしない。 |
acoUseTab | 項目の選択に〔TAB〕キーを使用する。 |
acoUpDownKeyDropsList | 候補リストの表示に上または下の矢印キーを使用する。 |
acoRtlReading | テキストの方向が親の逆の場合 |
Styleプロパティは、拡張コンボボックスの表示スタイルを「csExDropDown」「csExDropDownList」(手入力無し)「csExSimple」(下に固定リスト{リストボックス}が付いた編集ボックス)のうちから指定します。
StyleExプロパティは、項目リストの外観および動作を指定します。以下のものがあります(ヘルプより)。
csExCaseSensitive | 項目のキャプションの検索で大文字と小文字を区別する。リストにユーザーが入力する際の,項目の自動検索も対象に入る。 |
csExNoEditImage | リストの各項目を対応するイメージなしで表示する。コンボボックスは,その項目の ImageIndex プロパティを無視する。 |
csExNoEditImageIndent | リストの各項目をインデントなしで表示する。コンボボックスは,その項目の Indent プロパティを無視する。 |
csExNoSizeLimit | 拡張コンボボックスは,編集領域およびドロップダウンボタンの高さより低くサイズ変更できる。このようにサイズ変更する場合,コンボボックスの外観はクリッピングされる。 |
csExPathWordBreak | バックスラッシュ(\),スラッシュ(/),およびピリオド(.)文字をキーボード操作のワード区切り文字として処理する。これにより,パス名および URL のキーボード操作が可能になる。このスタイルは,Windows9xではサポートされない。 |
Imagesプロパティは、恒例のごとく、イメージリストを指定します。各項目リスト内のImageIndexプロパティにて、各項目リストの文字の前にアイコン画像を表示させる事が出来るようになります。
ItemsExプロパティは、項目リストを指定します。<オブジェクトインスペクタ>でこの欄を選択し、右端の[…]ボタンをクリックします。(※<フォームデザイナ>でのダブルクリックや右クリックメニューは出来ません)
↓
項目リスト ItemsEx の編集画面 表示
[新規追加]
↓
Captionプロパティに項目名を入力
↓
ItemsExプロパティ内の CaseSensitiveプロパティは、大文字と小文字を区別して項目をソートするかどうかを制御します(デフォルトは「False」)。
ItemsExプロパティ内の SortTypeプロパティは、項目の並べ替え方法を指定します。以下のようになっています(ヘルプより)。
stNone | 項目は,自動的にソートされない。項目をソートするには,明示的に Sort または CustomSort メソッドを呼び出す。 |
stData | 項目は,その Data プロパティの値に基づいてソートされる。ソート順序を指定するには,OnCompare イベントハンドラを記述する必要がある。 |
stText | 項目は,その Caption プロパティの値に基づいてソートされる。CaseSensitive プロパティで大文字と小文字を区別して比較を行うかどうかを指定する。 |
stBoth | 項目は,OnCompare イベントハンドラを記述している場合,それに基づいてソートされる。それ以外の場合は,その Caption プロパティの値に基づいてソートされる。 |
ItemsEx[n]プロパティ内の Indentプロパティは、項目内容の先頭に付けるインデント(位置ずらし量)をピクセル(ドット)値で指定します。
ItemsEx[n]プロパティ内の ImageIndexプロパティは、各項目内容の前に付けるアイコン画像のイメージ番号を指定します。-1値は指定無しです。
ItemsEx[n]プロパティ内の OverlayImageIndexプロパティは、イメージおよび選択時イメージの一部をマスクするために使用するオーバーレイマスクを指定します。-1値は指定無しです。
ItemsEx[n]プロパティ内の SelectedImageIndexプロパティは、項目の選択時に表示されるアイコン画像のイメージ番号を指定します。-1値は指定無しです。マウスをその項目に合わせるとこのアイコン画像に切り替わります。一度切り替えてしまうと自動的に元に戻る事はありません。多少扱いにくい感じはします。
拡張コンボボックスの項目リストのうちから選択した場合、ItemIndexプロパティにその番号(0〜)が入ります。選択していない場合は、-1値となります。<オブジェクトインスペクタ>には表示されていませんが、実行時には参照・指定する事が出来ます。
Styleプロパティが「csExDropDownList」又は「csExSimple」の場合、指定した項目内容は Textプロパティでは取得できません。ItemIndexプロパティと ItemsEx[n]プロパティ内の Captionプロパティで取得します。
という訳で、拡張コンボボックスについてはこれくらいにしておきます。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/10/23
2010/10/24
▼2010/10/25
シェアウェア
Script!World
データベース
|