SophiaFramework UNIVERSE 5.3 |
#include <SFZFlexListBoxControl.h.hpp>
class SFZFlexListBoxControl : public SFYBoxControl;
SFMTYPEDEFCLASS(SFZFlexListBoxControl)
■ 仕様と使い方
SFZFlexListBoxControl は、 リストの中から項目をひとつ選択させるための SFZListBoxControl クラスよりも高機能なリストボックスコントロール用クラスです。
□フレックスリストボックスコントロールの仕様
以下のように、個々の項目は左からヘッダ部、ボディ部、フッタ部の3つのパートに分かれます。
注意 | |
---|---|
|
□SFZFlexListBoxControl クラスと SFZListBoxControl クラスの相違点
内容 | SFZListBoxControl | SFZFlexListBoxControl |
---|---|---|
ヘッダ (キーアイコン) | WChar | SFXWideString |
アイコン画像 | × | ○ (ボディ部とフッタ部) |
コマンド ID | × | ○ |
項目の高さ | 一定 | 可変 (文字列や画像の高さに依存) |
項目選択時の表示切り替え | × | ○ (トグル状態により一部動作変更可) |
複数行文字列 | × | ○ (選択時のみ) |
文字列のアライメント | × | ○ |
項目の上下移動 | △ 1項目のみ | ○ 1項目 / ページ / スナップ |
構造体での項目追加 | × | ○ |
配列での複数項目追加 | × | ○ |
項目の背景色 (リストカラー) | アイテムごとに背景色を設定できる | 偶数行用と奇数行用に2種類の背景色を設定できる |
パフォーマンスとメモリ使用量 | ○ 項目の数が数千でも軽い | △ 項目の数が数百以上になると、インスタンス破壊時にレスポンスが低下し、メモリ使用量も増大する(※) |
パフォーマンスとメモリ使用量 | |
---|---|
SFZFlexListBoxControl クラスでは、 各項目はウィジェットクラスを使用して実装されています。 項目数に比例して内部で管理するレスポンダの数が増加するので、 SFZFlexListBoxControl インスタンスを破棄するタイミングでパフォーマンスが劣化する恐れがあります。 また、メモリ使用量に関しても、同様のことが言えます。 項目数が数百以上の場合は、 SFZListBoxControl クラスを利用することを推奨します。 |
□フレックスリストボックスコントロールの使い方
項目を追加するには、 SFZFlexListBoxControl::Insert / SFZFlexListBoxControl::InsertFirst / SFZFlexListBoxControl::InsertLast 関数を使います。 項目を削除するには、 SFZFlexListBoxControl::Remove / SFZFlexListBoxControl::RemoveFirst / SFZFlexListBoxControl::RemoveLast 関数を使います。 SFZFlexListBoxControl::Clear 関数を呼び出すと、すべての項目が削除されます。
SFZFlexListBoxControl::SetScrollUpKey 関数で設定された ScrollUp キー、または SFZFlexListBoxControl::SetScrollDownKey 関数で設定された ScrollDown キーを使用して選択項目を項目単位で移動できます。
SFZFlexListBoxControl::SetPageUpKey 関数で設定された PageUp キー、または SFZFlexListBoxControl::SetPageDownKey 関数で設定された PageDown キーを使用して選択項目をページ単位で移動できます。
SFZFlexListBoxControl::SetSnapUpKey 関数で設定された SnapUp キー、または SFZFlexListBoxControl::SetSnapDownKey 関数で設定された SnapDown キーを使用して選択項目を最上位項目または最下位項目に移動できます。
選択項目が移動した場合は、 値イベント [SFXEvent(SFEVT_RESPONDER_VALUE, SFP16_VALUE_CURRENT, 選択された項目のインデックス)] が発生します。
注意 | |
---|---|
この値イベントは、フレックスリストボックスコントロールの内部ハンドラ内で発生します。 |
選択項目は、 SFZFlexListBoxControl::SetTextColor 関数で設定された選択項目の文字列の色、 SFZFlexListBoxControl::SetSelectListColor 関数で設定された背景色で描画されます。
非選択項目は、 SFZFlexListBoxControl::SetTextColor 関数で設定された非選択項目の文字列の色、 奇数番目の項目は SFZFlexListBoxControl::SetOddListColor 関数、 偶数番目の項目は SFZFlexListBoxControl::SetEvenListColor 関数で設定された背景色でそれぞれ描画されます。
SFZFlexListBoxControl::SetItemEnable 関数によって設定される有効フラグが "false" である項目は、 テキストは SFZFlexListBoxControl::SetTextColor 関数で設定された色を基にして「無効な項目」用に計算された色で描画されます。 背景も奇数番目と偶数番目に応じて SFZFlexListBoxControl::SetOddListColor と SFZFlexListBoxControl::SetEvenListColor 関数で設定された色を基にして「無効な項目」用に計算された色でそれぞれ塗り潰されます。 ただし、 選択項目の背景は、 常に SFZFlexListBoxControl::SetSelectListColor 関数で設定された色で塗り潰されます。 また、このコントロールの状態が非活性状態であるときは、 すべての項目が 有効フラグが "false" であるときと同じ処理で描画されます。
その他、 SFZFlexListBoxControl::SetItemAccessKey 関数を使用して項目にアクセスキーを設定したり、 SFZFlexListBoxControl::SetGridLineEnable 関数と SFZFlexListBoxControl::SetGridLineColor 関数を使用してグリッド線を表示することも可能です。 項目内のマージンは SFZFlexListBoxControl::SetListMargin 関数で設定します。
デフォルトの実装では、 フレックスリストボックスコントロール[SFZFlexListBoxControl]は 下記の結果イベント[SFEVT_RESPONDER_RESULT]を受信します。
開発者は、これらの結果イベントを受信するハンドラを登録できます。
フレックスリストボックスコントロールの操作キーは、SFYBoxControl::SetOperateKey 関数を使用して設定します。 デフォルトでは、セレクトキーがフレックスリストボックスコントロールの操作キーとして割り当てられています。
アクセスキーは、SFZFlexListBoxControl::SetItemAccessKey 関数を使用して設定します。
ESCAPE キーは、SFZFlexListBoxControl::SetEscapeKey 関数を使用して設定します。 デフォルトでは、クリアキーが ESCAPE キーとして割り当てられています。
注意 | |
---|---|
選択項目が SFZFlexListBoxControl::SetItemEnable 関数により無効化("false" が設定)されているとき、 結果イベントは発生しません。 |
参照: 結果イベント[SFEVT_RESPONDER_RESULT] | SFZFlexListBoxControl::HandleOperateKey | SFZFlexListBoxControl::HandleAccessKey | SFZFlexListBoxControl::HandleEscapeKey
■フレックスリストボックスを生成するためのコード
Void UserClass::Main(Void) { SFZWindowSmp window; SFZFlexListBoxControlSmp list; SFZFlexListBoxControl::ItemRec item; SFBShellSmp shell(SFBShell::GetInstance()); SFBImageSmp normal(shell->LoadResImage("userclass.bar", IDI_OBJECT_5001)); SFBImageSmp select(shell->LoadResImage("userclass.bar", IDI_OBJECT_5002)); SFBImageSmp disable(shell->LoadResImage("userclass.bar", IDI_OBJECT_5003)); SFCError error(SFERR_NO_ERROR); // ウインドウを生成する window = SFZWindow::NewInstance(); window->SetParent(GetThis()); window->SetBackgroundColor(SFXRGBColor(0xDD, 0xFF, 0xDD, 0x00)); window->SetRealBound(GetLocalBound()); window->SetState(true, true, true, true); // [必須] リストボックスを生成する list = SFZFlexListBoxControl::NewInstance(&error); // [必須] 親をウィンドウに設定する list->SetParent(window); // [任意] 偶数番目の項目の背景色を設定する list->SetEvenListColor(SFXRGBColor(0xFF, 0xFF, 0xCC, 0x00)); // [任意] 奇数番目の項目の背景色を設定する list->SetOddListColor(SFXRGBColor(0xFF, 0xCC, 0xFF, 0x00)); // [任意] 通常時の水平アライメントを中央揃えにする list->SetHorizontalAlign(SFZFlexListBoxControl::NORMAL, SFZFlexListBoxControl::HORIZONTAL_CENTER); // [任意] リスト項目間のマージンを設定する list->SetListMargin(SFXMargin(2, 1, 2, 1)); // [任意] グリッドライン線を無効にする (デフォルト) list->SetGridLineEnable(false); // [任意] スペースサイズを設定する list->SetSpaceSize(4); // [任意] 連続スクロールするように設定する list->SetScrollRepeat(true); // [任意] スクロールバーの幅を設定する list->SetScrollBarWidth(5); // [任意] 選択時は複数行文字列表示にする list->SetToggle(SFZFlexListBoxControl::TOGGLE_MULTIPLE_BODY_TEXT); // ここではアイテム構造体を利用して項目を追加する。 // 文字列だけでも追加できるが画像を利用する場合は、 // アイテム構造体を利用した方が簡単。[選択] // [アイテム構造体を利用する場合は必須] アイテム構造体のプロパティを設定する item.property.enable = true; // 有効フラグを true に設定する item.property.key = 0; // アクセスキーを設定しない item.property.id = SFZFlexListBoxControl::INVALID_COMMAND_ID; // コマンド ID を設定しない // [任意] アイテム構造体のボディ部属性の画像を設定する item.normal.body.icon = normal; item.select.body.icon = select; // [必須] 20個の項目を追加する for (SInt32 i = 0; i < 20 ; ++i) { // [アイテム構造体を利用する場合は必須] アイテム構造体のヘッダ部属性とボディ部属性のテキストを設定する item.normal.header.text.Set(SFXWideString::Format("%02d", i)); item.normal.body.text.Set(SFXWideString::Format("List item %02d", i)); item.select.body.text.Set(SFXWideString::Format("The item %02d is selected.", i)); // 5番目の項目だけアイテム構造体のフッタ部属性のアイコン画像を設定する if (i == 5) { item.normal.footer.icon = disable; } else { item.normal.footer.icon = SFBImageSmp::EmptyInstance(); } // 末尾に挿入する list->InsertLast(item); } // [任意] 5番目の項目を無効にする list->SetItemEnable(5, false); // [必須] 最適な領域を計算して実領域を設定する list->SetRealBound(list->GetSuitableBound(window->GetLocalBound().Deflate(10, 10)).SnapCenterMiddle(GetLocalBound().GetCenterMiddle())); // [必須] 状態を (true, true, true, true) に設定する list->SetState(true, true, true, true); // [任意] 1番目の項目を選択する (※) list->SetCurrentValue(1); // (※注意) // フレックスリストボックスの状態を「操作可能状態」にしてから現在の選択項目を設定する // return; }
実行結果:
SFYBoxControl | SFZListBoxControl | SFXEvent | 値イベント [SFEVT_RESPONDER_VALUE] | 結果イベント[SFEVT_RESPONDER_RESULT] | 状態
コンストラクタ/デストラクタ |
---|
SFZFlexListBoxControl( Void ) SFZFlexListBoxControl クラスのコンストラクタです。
|
~SFZFlexListBoxControl( Void ) SFZFlexListBoxControl クラスのデストラクタです。
|
パブリック関数 | |
---|---|
Void |
Clear( Void ) すべての項目を削除します。
|
Bool |
ContainsAccessKey(
AVKType key
) 指定されたアクセスキーが登録されているかどうかを判定します。
|
SInt32 |
FirstIndexOfCommandId(
UInt32 id
) 先頭から検索して、指定されたコマンド ID と一致する最初の項目のインデックスを取得します。
|
SInt32 |
FirstIndexOfCommandId(
UInt32 id
, SInt32 index
) 先頭から検索して、指定されたコマンド ID と一致する最初の項目のインデックスを取得します。
|
Bool |
GetAccessKeyEnable( Void ) アクセスキー有効フラグの値を取得します。
|
AVKType |
GetEscapeKey( Void ) ESCAPE キーを取得します。
|
SFXRGBColorConstRef |
GetEvenListColor( Void ) 偶数番目の非選択項目の背景色を取得します。
|
AEEFont |
GetFont(
TextEnum textEnum
) 指定された文字列定数に対応するフォントを取得します。
|
SFXRGBColorConstRef |
GetGridLineColor( Void ) グリッド線の色を取得します。
|
Bool |
GetGridLineEnable( Void ) グリッド線有効フラグの値を取得します。
|
HorizontalEnum |
GetHorizontalAlign( Void ) 水平アライメントの値を取得します。
|
ItemRec |
GetItem(
SInt32 index
, SFCErrorPtr exception = null
) 指定された項目のアイテム構造体を取得します。
|
AVKType |
GetItemAccessKey(
SInt32 index
) 指定された項目のアクセスキーを取得します。
|
UInt32 |
GetItemCommandId(
SInt32 index
) 指定された項目のコマンド ID を取得します。
|
SInt32 |
GetItemCount( Void ) 項目の数を取得します。
|
Bool |
GetItemEnable(
SInt32 index
) 指定された項目の有効フラグの値を取得します。
|
SInt16 |
GetItemHeight(
SInt32 index
) 指定された項目の高さを取得します。[単位:ピクセル]
|
SFBImageSmpConstRef |
GetItemIconImage(
SInt32 index
, IconEnum iconEnum
) 指定された項目内の指定されたアイコン画像を取得します。
|
SFXWideStringConstRef |
GetItemText(
SInt32 index
, TextEnum textEnum
) 指定された項目の指定された文字列定数に対応するテキストを取得します。
|
SFXMarginConstRef |
GetListMargin( Void ) リスト項目のマージンを取得します。
|
SFXRGBColorConstRef |
GetOddListColor( Void ) 奇数番目の非選択項目の背景色を取得します。
|
AVKType |
GetPageDownKey( Void ) 項目を下方向に 1 ページ分スクロールする PageDown キーを取得します。
|
AVKType |
GetPageUpKey( Void ) 項目を上方向に 1 ページ分スクロールする PageUp キーを取得します。
|
SFYScrollBarControlSmpConstRef |
GetScrollBarControl( Void ) スクロールバーコントロールを取得します。
|
SInt16 |
GetScrollBarWidth( Void ) スクロールバーの横幅を取得します。[単位:ピクセル]
|
DirectionEnum |
GetScrollDirection( Void ) スクロールの移動方向を取得します。
|
AVKType |
GetScrollDownKey( Void ) 項目を下方向に1項目スクロールする ScrollDown キーを取得します。
|
UInt32 |
GetScrollInterval( Void ) スクロールインターバルを取得します。[単位:ミリ秒]
|
Bool |
GetScrollRepeat( Void ) 連続スクロールフラグの値を取得します。
|
SInt16 |
GetScrollStep( Void ) スクロール移動量を取得します。[単位:ピクセル]
|
AVKType |
GetScrollUpKey( Void ) 項目を上方向に1項目スクロールする ScrollUp キーを取得します。
|
SFXRGBColorConstRef |
GetSelectListColor( Void ) 選択項目の背景色を取得します。
|
AVKType |
GetSnapDownKey( Void ) 項目を下端までスクロールする SnapDown キーを取得します。
|
AVKType |
GetSnapUpKey( Void ) 項目を上端までスクロールする SnapUp キーを取得します。
|
SInt16 |
GetSpaceSize( Void ) 項目の要素間のスペースサイズを取得します。[単位:ピクセル]
|
SFXRGBColorConstRef |
GetTextColor(
TextEnum textEnum
) 指定された文字列定数の色を取得します。
|
Toggle |
GetToggle( Void ) トグル状態を取得します。
|
VerticalEnum |
GetVerticalAlign( Void ) 垂直アライメントの値を取得します。
|
UInt32 |
GetWaitInterval( Void ) 項目のスクロール開始までの待ち時間を取得します。[単位:ミリ秒]
|
SFCError |
Insert(
SInt32 index
, ItemRecConstRef item
) 指定されたインデックスの位置に項目を挿入します。
|
SFCError |
Insert(
SInt32 index
, ItemRecConstPtr item
, SInt32 length
) 指定されたインデックスの位置に項目を挿入します。
|
SFCError |
Insert(
SInt32 index
, SFXWideStringConstRef text
) 指定されたインデックスの位置に項目を挿入します。
|
SFCError |
Insert(
SInt32 index
, SFXWideStringConstPtr text
, SInt32 length
) 指定されたインデックスの位置に項目を挿入します。
|
SFCError |
InsertFirst(
ItemRecConstRef item
) 先頭に項目を挿入します。
|
SFCError |
InsertFirst(
ItemRecConstPtr item
, SInt32 length
) 先頭に項目を挿入します。
|
SFCError |
InsertFirst(
SFXWideStringConstRef text
) 先頭に項目を挿入します。
|
SFCError |
InsertFirst(
SFXWideStringConstPtr text
, SInt32 length
) 先頭に項目を挿入します。
|
SFCError |
InsertLast(
ItemRecConstRef item
) 末尾に項目を挿入します。
|
SFCError |
InsertLast(
ItemRecConstPtr item
, SInt32 length
) 末尾に項目を挿入します。
|
SFCError |
InsertLast(
SFXWideStringConstRef text
) 末尾に項目を挿入します。
|
SFCError |
InsertLast(
SFXWideStringConstPtr text
, SInt32 length
) 末尾に項目を挿入します。
|
SInt32 |
LastIndexOfCommandId(
UInt32 id
) 末尾から検索して、指定したコマンド ID と一致する最初の項目のインデックスを取得します。
|
SInt32 |
LastIndexOfCommandId(
UInt32 id
, SInt32 index
) 末尾から検索して、指定したコマンド ID と一致する最初の項目のインデックスを取得します。
|
static SFZFlexListBoxControlSmp |
NewInstance(
SFCErrorPtr exception = null
) 新しいインスタンスを作成します。
|
Void |
Remove(
SInt32 begin
, SInt32 end
) 指定されたインデックスの位置または範囲の項目を削除します。
|
Void |
Remove(
SInt32 index
) 指定されたインデックスの位置または範囲の項目を削除します。
|
Void |
RemoveFirst( Void ) 先頭の項目を削除します。
|
Void |
RemoveLast( Void ) 末尾の項目を削除します。
|
Void |
SetAccessKeyEnable(
Bool param
) アクセスキー有効フラグを設定します。
|
Void |
SetEscapeKey(
AVKType param
) ESCAPE キーを設定します。
|
Void |
SetEvenListColor(
SFXRGBColorConstRef param
) 偶数番目の非選択項目の背景色を設定します。
|
Void |
SetFont(
TextEnum textEnum
, AEEFont param
) 指定された文字列定数に対応するフォントを設定します。
|
Void |
SetGridLineColor(
SFXRGBColorConstRef param
) グリッド線の色を設定します。
|
Void |
SetGridLineEnable(
Bool param
) グリッド線有効フラグを設定します。
|
Void |
SetHorizontalAlign(
HorizontalEnum param
) 水平アライメントを設定します。
|
SFCError |
SetItem(
SInt32 index
, ItemRecConstRef item
) 指定された項目のアイテム構造体を設定します。
|
SFCError |
SetItemAccessKey(
SInt32 index
, AVKType key
) 指定された項目のアクセスキーを設定します。
|
SFCError |
SetItemCommandId(
SInt32 index
, UInt32 id
) 指定された項目のコマンド ID を設定します。
|
SFCError |
SetItemEnable(
SInt32 index
, Bool param
) 指定された項目の有効フラグを設定します。
|
SFCError |
SetItemIconImage(
SInt32 index
, IconEnum iconEnum
, SFXPathConstRef path
) 指定された項目にアイコン画像を設定します。
|
SFCError |
SetItemIconImage(
SInt32 index
, IconEnum iconEnum
, SFXPathConstRef path
, UInt16 id
) 指定された項目にアイコン画像を設定します。
|
SFCError |
SetItemIconImage(
SInt32 index
, IconEnum iconEnum
, SFBImageSmpConstRef param
) 指定された項目にアイコン画像を設定します。
|
SFCError |
SetItemText(
SInt32 index
, TextEnum textEnum
, SFXPathConstRef path
, UInt16 id
) 指定された項目に指定された文字列定数に対応するテキストを設定します。
|
SFCError |
SetItemText(
SInt32 index
, TextEnum textEnum
, SFXWideStringConstRef param
) 指定された項目に指定された文字列定数に対応するテキストを設定します。
|
Void |
SetListMargin(
SFXMarginConstRef param
) リスト項目のマージンを設定します。
|
Void |
SetOddListColor(
SFXRGBColorConstRef param
) 奇数番目の非選択項目の背景色を設定します。
|
Void |
SetPageDownKey(
AVKType param
) 項目を下方向に 1 ページ分スクロールする PageDown キーを設定します。
|
Void |
SetPageUpKey(
AVKType param
) 項目を上方向に 1 ページ分スクロールする PageUp キーを取得します。
|
SFCError |
SetScrollBarControl(
SFYScrollBarControlSmpConstRef param
) スクロールバーコントロールを設定します。
|
Void |
SetScrollBarWidth(
SInt16 param
) スクロールバーの横幅を設定します。[単位:ピクセル]
|
Void |
SetScrollDirection(
DirectionEnum param
) スクロールの移動方向を設定します。
|
Void |
SetScrollDownKey(
AVKType param
) 項目を下方向に1項目スクロールする ScrollDown キーを設定します。
|
Void |
SetScrollInterval(
UInt32 param
) スクロールインターバルを設定します。[単位:ミリ秒]
|
Void |
SetScrollRepeat(
Bool param
) 連続スクロールフラグを指定された値に設定します。
|
Void |
SetScrollStep(
SInt16 param
) スクロール移動量を設定します。[単位:ピクセル]
|
Void |
SetScrollUpKey(
AVKType param
) 項目を上方向に1項目スクロールする ScrollUp キーを設定します。
|
Void |
SetSelectListColor(
SFXRGBColorConstRef param
) 選択項目の背景色を設定します。
|
Void |
SetSnapDownKey(
AVKType param
) 項目を下端までスクロールする SnapDown キーを設定します。
|
Void |
SetSnapUpKey(
AVKType param
) 項目を上端までスクロールする SnapUp キーを設定します。
|
Void |
SetSpaceSize(
SInt16 param
) 項目の要素間スペースサイズを設定します。[単位:ピクセル]
|
Void |
SetTextColor(
TextEnum textEnum
, SFXRGBColorConstRef param
) 指定された文字列の色を設定します。
|
Void |
SetToggle(
Toggle param
) トグル状態を設定します。
|
Void |
SetVerticalAlign(
VerticalEnum param
) 垂直アライメントを設定します。
|
Void |
SetWaitInterval(
UInt32 param
) 選択項目のスクロール開始までの待ち時間を設定します。[単位:ミリ秒]
|
Void |
ClearHandler( Void )
(SFYResponder から継承)
このレスポンダのハンドラの登録をすべて解除します。
|
Void |
ClearTracer( Void )
(SFYResponder から継承)
このレスポンダのトレーサの配信規則の登録をすべて解除します。
|
SFCError |
Distribute(
SFXEventConstRef event
, BoolPtr result = null
)
(SFYResponder から継承)
指定された配信型イベントを
SFYDistributer インスタンスと、このレスポンダ以下のレスポンダツリーに配信します。
|
SFXRGBColorConstRef |
GetBackgroundColor( Void )
(SFYWidget から継承)
背景の色を取得します。
|
SFXBevelColorConstRef |
GetBevelColor( Void )
(SFYBoxControl から継承)
ボックスコントロールの外枠を描画するためのベベルカラーを取得します。
|
SFYResponderSmp |
GetChildBack( Void )
(SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBack(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBack(
UInt32 id
)
(SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBack(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
)
(SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
, UInt32 id
)
(SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SInt32 |
GetChildCount( Void )
(SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
|
SInt32 |
GetChildCount(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
|
SInt32 |
GetChildCount(
UInt32 id
)
(SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
|
SInt32 |
GetChildCount(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
)
(SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
, UInt32 id
)
(SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront( Void )
(SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront(
UInt32 id
)
(SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
|
SInt32 |
GetCurrentValue( Void )
(SFYControl から継承)
コントロールの現在値を取得します。
|
SFYDistributerPtr |
GetDistributer( Void )
(SFYResponder から継承)
このレスポンダに設定されている配信エンジンを取得します。
|
SFXRGBColorConstRef |
GetFocusColor( Void )
(SFYBoxControl から継承)
フォーカス状態にあるときの内枠の色を取得します。
|
SFYResponderSmp |
GetFrame( Void )
(SFYResponder から継承)
このレスポンダに装着されたフレームを取得します。
|
SFXRGBColorConstRef |
GetFrameColor( Void )
(SFYBoxControl から継承)
中枠の色を取得します。
|
SFXRectangle |
GetGlobalBound( Void )
(SFYResponder から継承)
このレスポンダのグローバル領域を取得します。
|
UInt32 |
GetID( Void )
(SFYResponder から継承)
このレスポンダの ID を取得します。
|
SFXRectangle |
GetLocalBound( Void )
(SFYResponder から継承)
このレスポンダのローカル領域を取得します。
|
SInt32 |
GetMaximumValue( Void )
(SFYControl から継承)
コントロールの最大値を取得します。
|
SInt32 |
GetMinimumValue( Void )
(SFYControl から継承)
コントロールの最小値を取得します。
|
SInt32 |
GetNthBackward( Void )
(SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
|
SInt32 |
GetNthBackward(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
|
SInt32 |
GetNthBackward(
UInt32 id
)
(SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
|
SInt32 |
GetNthBackward(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
|
SInt32 |
GetNthForward( Void )
(SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
|
SInt32 |
GetNthForward(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
|
SInt32 |
GetNthForward(
UInt32 id
)
(SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
|
SInt32 |
GetNthForward(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
|
AVKType |
GetOperateKey( Void )
(SFYBoxControl から継承)
操作キーを取得します。
|
SFYResponderSmp |
GetParent( Void )
(SFYResponder から継承)
このレスポンダの親レスポンダを取得します。
|
Bool |
GetPropertyTransparent( Void )
(SFYResponder から継承)
このレスポンダの透過属性を取得します。
|
SFXRectangleConstRef |
GetRealBound( Void )
(SFYResponder から継承)
このレスポンダの実領域を取得します。
|
VoidPtr |
GetReference( Void )
(SFYResponder から継承)
このレスポンダのリファレンス値を取得します。
|
SFYRendererPtr |
GetRenderer( Void )
(SFYResponder から継承)
このレスポンダに設定されている描画エンジンを取得します。
|
SFYResponderSmp |
GetRoot( Void )
(SFYResponder から継承)
このレスポンダが所属するレスポンダツリーのルートレスポンダを取得します。
|
Bool |
GetStateActive(
Bool inherit = false
)
(SFYResponder から継承)
このレスポンダの活性状態を取得します。
|
Bool |
GetStateEnable(
Bool inherit = false
)
(SFYResponder から継承)
このレスポンダの操作可能状態を取得します。
|
Bool |
GetStateFocus(
Bool inherit = false
)
(SFYResponder から継承)
このレスポンダのフォーカス状態を取得します。
|
Bool |
GetStateValid(
Bool inherit = false
)
(SFYResponder から継承)
このレスポンダの有効状態を取得します。
|
Bool |
GetStateVisible(
Bool inherit = false
)
(SFYResponder から継承)
このレスポンダの可視状態を取得します。
|
SFXRectangle |
GetSuitableBound( Void )
(SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
|
SFXRectangle |
GetSuitableBound(
SFXRectangleConstRef rectangle
)
(SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
|
SFXRectangle |
GetSuitableBound(
SFXRectangleConstRef param
, HorizontalEnum horizontal
, VerticalEnum vertical
)
(SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
|
SFXMargin |
GetSuitableMargin( Void )
(SFYResponder から継承)
このレスポンダのフレーム余白領域を取得します。
|
SFCType |
GetType( Void )
(SFYResponder から継承)
このレスポンダのタイプを取得します。
|
SFXRectangleConstRef |
GetVirtualBound( Void )
(SFYResponder から継承)
このレスポンダの仮想領域を取得します。
|
Bool |
HasFrame( Void )
(SFYResponder から継承)
このレスポンダがコンテントレスポンダであるかどうかを判定します。
|
Void |
Initialize( Void )
(SFYResponder から継承)
このレスポンダを初期化します。
|
Void |
Invalidate( Void )
(SFYResponder から継承)
指定された領域を再描画領域に登録します。
|
Void |
Invalidate(
SFXRectangleConstRef param
)
(SFYResponder から継承)
指定された領域を再描画領域に登録します。
|
Void |
InvokeBackward(
SFXEventConstRef event
, Bool overload
, BoolPtr result = null
)
(SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します
(ハンドラは登録順に起動されます)。
|
Void |
InvokeForward(
SFXEventConstRef event
, Bool overload
, BoolPtr result = null
)
(SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します
(ハンドラは登録の逆順に起動されます)。
|
Bool |
IsBack( Void )
(SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
|
Bool |
IsBack(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
|
Bool |
IsBack(
UInt32 id
)
(SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
|
Bool |
IsBack(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
|
Bool |
IsFrame( Void )
(SFYResponder から継承)
このレスポンダがアタッチメントフレームであるかどうかを判定します。
|
Bool |
IsFront( Void )
(SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
|
Bool |
IsFront(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
|
Bool |
IsFront(
UInt32 id
)
(SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
|
Bool |
IsFront(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
|
Bool |
IsNthBackward(
SInt32 index
)
(SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsNthBackward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsNthBackward(
SInt32 index
, UInt32 id
)
(SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsNthBackward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsNthForward(
SInt32 index
)
(SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsNthForward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsNthForward(
SInt32 index
, UInt32 id
)
(SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsNthForward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
|
Bool |
IsRoot( Void )
(SFYResponder から継承)
このレスポンダがルートレスポンダであるかどうかを判定します。
|
SFCError |
Recover( Void )
(SFYResponder から継承)
デバイス画面保存用ビットマップを使用してこのレスポンダとレスポンダ空間との交差領域を復元します。
|
SFCError |
RegisterHandler(
SFXEventRangeConstRef range
, SFYHandler::RuleRecConstRef rule
)
(SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
|
SFCError |
RegisterHandler(
SFXEventRangeConstRef range
, SFYHandler::HandlerSPP spp
, VoidPtr reference
)
(SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
|
SFCError |
RegisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::RuleRecConstPtr rule
, SInt32 length
)
(SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
|
SFCError |
RegisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::HandlerSPPConstPtr spp
, VoidPtrConstPtr reference
, SInt32 length
)
(SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstRef range
, SFYTracer::RuleRecConstRef rule
)
(SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstRef range
, SFYTracer::OrderEnum order
, SFYTracer::StateEnum state
, Bool overload
)
(SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstPtr range
, SFYTracer::RuleRecConstPtr rule
, SInt32 length
)
(SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstPtr range
, SFYTracer::OrderEnumConstPtr order
, SFYTracer::StateEnumConstPtr state
, BoolConstPtr overload
, SInt32 length
)
(SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
|
SFCError |
Render(
Bool force = false
)
(SFYResponder から継承)
このレスポンダ以下のレスポンダツリーをレスポンダ空間に再描画します。
|
Void |
SetBackgroundColor(
SFXRGBColorConstRef param
)
(SFYWidget から継承)
背景の色を設定します。
|
Void |
SetBevelColor(
SFXBevelColorConstRef param
)
(SFYBoxControl から継承)
ボックスコントロールの外枠を描画するためのベベルカラーを設定します。
|
Void |
SetCurrentValue(
SInt32 param
)
(SFYControl から継承)
コントロールの現在値を設定します。
|
Void |
SetDistributer(
SFYDistributerPtr param
)
(SFYResponder から継承)
指定された配信エンジンをこのレスポンダに設定します。
|
Void |
SetFocusColor(
SFXRGBColorConstRef param
)
(SFYBoxControl から継承)
フォーカス状態にあるときの内枠の色を設定します。
|
SFCError |
SetFrame(
SFYResponderSmpConstRef param
)
(SFYResponder から継承)
このレスポンダにフレームを装着します。
|
Void |
SetFrameColor(
SFXRGBColorConstRef param
)
(SFYBoxControl から継承)
中枠の色を設定します。
|
Void |
SetID(
UInt32 param
)
(SFYResponder から継承)
指定された ID をこのレスポンダに設定します。
|
Void |
SetMaximumValue(
SInt32 param
)
(SFYControl から継承)
コントロールの最大値を設定します。
|
Void |
SetMinimumValue(
SInt32 param
)
(SFYControl から継承)
コントロールの最小値を設定します。
|
Void |
SetOperateKey(
AVKType param
)
(SFYBoxControl から継承)
操作キーを設定します。
|
SFCError |
SetParent(
SFYResponderSmpConstRef param
)
(SFYResponder から継承)
指定されたレスポンダをこのレスポンダの親レスポンダに設定します。
|
Void |
SetProperty(
Bool transparent
)
(SFYResponder から継承)
指定された属性をこのレスポンダに設定します。
|
Void |
SetPropertyTransparent(
Bool param
)
(SFYResponder から継承)
指定された透過属性をこのレスポンダに設定します。
|
Void |
SetRealBound(
SFXRectangleConstRef param
)
(SFYResponder から継承)
指定された領域をこのレスポンダの実領域に設定します。
|
Void |
SetReference(
VoidPtr param
)
(SFYResponder から継承)
指定された値をこのレスポンダのリファレンスに設定します。
|
Void |
SetRenderer(
SFYRendererPtr param
)
(SFYResponder から継承)
指定された描画エンジンをこのレスポンダに設定します。
|
Void |
SetState(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
指定された値をこのレスポンダの可視、活性、操作可能、フォーカスの各状態フラグに設定します。
|
Void |
SetStateActive(
Bool param
)
(SFYResponder から継承)
指定された値をこのレスポンダの活性状態フラグに設定します。
|
Void |
SetStateEnable(
Bool param
)
(SFYResponder から継承)
指定された値をこのレスポンダの操作可能状態フラグに設定します。
|
Void |
SetStateFocus(
Bool param
)
(SFYResponder から継承)
指定された値をこのレスポンダのフォーカス状態フラグに設定します。
|
Void |
SetStateVisible(
Bool param
)
(SFYResponder から継承)
指定された値をこのレスポンダの可視状態フラグに設定します。
|
Void |
SetVirtualBound(
SFXRectangleConstRef param
)
(SFYResponder から継承)
指定された領域をこのレスポンダの仮想領域に設定します。
|
SFCError |
Snapshot(
SFBBitmapSmpConstRef bitmap
)
(SFYResponder から継承)
デバイス画面保存用ビットマップからこのレスポンダとレスポンダ空間との交差領域のスナップショットを取得します。
|
Void |
Terminate( Void )
(SFYResponder から継承)
このレスポンダの終了処理を行います。
|
Void |
ToBack( Void )
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
|
Void |
ToBack(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
|
Void |
ToBack(
UInt32 id
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
|
Void |
ToBack(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
|
Void |
ToFront( Void )
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
|
Void |
ToFront(
Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
|
Void |
ToFront(
UInt32 id
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
|
Void |
ToFront(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
|
Void |
ToNthBackward(
SInt32 index
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
|
Void |
ToNthBackward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
|
Void |
ToNthBackward(
SInt32 index
, UInt32 id
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
|
Void |
ToNthBackward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
|
Void |
ToNthForward(
SInt32 index
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
|
Void |
ToNthForward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
|
Void |
ToNthForward(
SInt32 index
, UInt32 id
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
|
Void |
ToNthForward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
)
(SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
|
Void |
UnregisterHandler(
SFXEventRangeConstRef range
, SFYHandler::RuleRecConstRef rule
)
(SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
|
Void |
UnregisterHandler(
SFXEventRangeConstRef range
, SFYHandler::HandlerSPP spp
, VoidPtr reference
)
(SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
|
Void |
UnregisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::RuleRecConstPtr rule
, SInt32 length
)
(SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
|
Void |
UnregisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::HandlerSPPConstPtr spp
, VoidPtrConstPtr reference
, SInt32 length
)
(SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
|
Void |
UnregisterTracer(
SFXEventRangeConstRef range
)
(SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
|
Void |
UnregisterTracer(
SFXEventRangeConstPtr range
, SInt32 length
)
(SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
|
プロテクト関数 | |
---|---|
Bool |
HandleAccessKey(
AVKType key
) アクセスキーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Void |
HandleBoundOptimize(
SFXRectanglePtr rectangle
) (SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です(指定した矩形に収まる範囲内で最適な領域を計算します)。
|
Void |
HandleBoundRequest(
SFXRectanglePtr rectangle
) (SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です(最適な領域を計算します)。
|
Void |
HandleBoundVirtual( Void )
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です
(仮想領域が変化したときの処理を行います)。
|
Void |
HandleEscapeKey( Void ) ESCAPE キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Void |
HandleOperateKey( Void ) 操作キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Void |
HandleRenderRequest(
SFXGraphicsPtr graphics
) 描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
|
Void |
DrawBox(
SFXGraphicsPtr graphics
, SFXRectangleConstRef rectangle
)
(SFYBoxControl から継承)
ボックスコントロールを描画します。
|
static SFYResponderSmp |
Factory(
SFYResponderPtr responder
, SFCErrorPtr exception = null
)
(SFYResponder から継承)
NewInstance 関数の実装を補助します。
|
static SFXMarginConstRef |
GetBoxMargin( Void )
(SFYBoxControl から継承)
ボックスコントロールのマージンの値を取得します。
|
SFYResponderSmp |
GetThis( Void )
(SFYResponder から継承)
このレスポンダのスマートポインタを取得します。
|
Void |
HandleBoundGlobal(
SFXRectangleConstRef rectangle
)
(SFYWidget から継承)
[非推奨(廃止予定 API)] グローバル領域が変化したときに呼び出される関数です。
|
Void |
HandleBoundReal( Void )
(SFYControl から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です
(実領域が変化したときの処理を行います)。
|
Void |
SetType(
SFCType param
)
(SFYResponder から継承)
指定された値をこのレスポンダのタイプに設定します。
|
型 |
---|
CodeEnum SFZFlexListBoxControl クラスを表す定数です。
|
DefaultEnum 各種パラメータのデフォルト値を表します。
|
DirectionEnum スクロールの移動方向を表します。
|
HorizontalEnum 水平方向のアライメントを表す定数です。
|
IconEnum 操作対象のアイコン画像を指定する定数です。
|
ItemRec 項目の各種属性を表す構造体です。 (アイテム構造体)
|
SelectEnum 選択時かどうかを表す定数です。
|
TextEnum 操作対象の文字列を指定する定数です。
|
ToggleEnum トグル状態の設定に使用する定数です。
|
VerticalEnum 垂直方向のアライメントを表す定数です。
|
[ protected, explicit ] SFZFlexListBoxControl(Void);
このコンストラクタは、以下の初期化処理を行います。
表 262. イベントハンドラ
イベント | ハンドラの内容 |
---|---|
SFYBoxControl::SetOperateKey で設定された操作キーの SFEVT_KEY イベント | SFZFlexListBoxControl::HandleOperateKey 関数を呼び出します。 |
SFZFlexListBoxControl::SetItemAccessKey で設定されたアクセスキーの SFEVT_KEY イベント | SFZFlexListBoxControl::HandleOperateKey 関数を呼び出します。 |
SFZFlexListBoxControl::SetEscapeKey で設定された ESCAPE キーの SFEVT_KEY イベント | SFZFlexListBoxControl::HandleEscapeKey 関数を呼び出します。 |
SFZFlexListBoxControl::SetScrollUpKey で設定された ScrollUp キーの SFEVT_KEY イベント | 1つ上の項目を現在の選択項目にします(必要に応じて1項目分上にスクロールします)。 |
SFZFlexListBoxControl::SetScrollDownKey で設定された ScrollDown キーの SFEVT_KEY イベント | 1つ下の項目を現在の選択項目にします(必要に応じて1項目分下にスクロールします)。 |
SFZFlexListBoxControl::SetPageUpKey で設定された PageUp キーの SFEVT_KEY イベント | 1ページ上にスクロールします。 |
SFZFlexListBoxControl::SetPageDownKey で設定された PageDown キーの SFEVT_KEY イベント | 1ページ下にスクロールします。 |
SFZFlexListBoxControl::SetSnapUpKey で設定された SnapUp キーの SFEVT_KEY イベント | 上端までスクロールします。 |
SFZFlexListBoxControl::SetSnapDownKey で設定された SnapDown キーの SFEVT_KEY イベント | 下端までスクロールします。 |
現在の選択項目が変更になった時に発生する値イベント[SFEVT_RESPONDER_VALUE] | SFYControl::SetCurrentValue 関数を呼び出して現在選択されている項目のインデックスを現在値に設定します。 |
領域サイズの垂直成分が変化した時に発生する値イベント[SFEVT_RESPONDER_BOUND] | このフレックスリストボックスを再配置します。 |
注意 | |
---|---|
SFZFlexListBoxControl クラスを継承するレスポンダでは、 上記イベントが発生すると、それに対応するハンドラが呼び出されます。 |
このコンストラクタの内部実装は以下の通りです。
/*protected */SFZFlexListBoxControl::SFZFlexListBoxControl(Void) static_throws { static SFXRGBColor::AtomRecConst rgb[] = { {{{0x00, 0x00, 0x00, 0x00}}}, // color.normal.text {{{0x00, 0xFF, 0xFF, 0xFF}}} // color.select.text }; static SFXEventRange::AtomRecConst lrange[] = { #if TARGET_VERSION_GE(3, 0, 0) { SFEVT_KEY_PRESS, SFEVT_KEY_RELEASE, SFP16_BEGIN, SFP16_END}, #else { SFEVT_KEY_PRESS, SFEVT_KEY_HELD, SFP16_BEGIN, SFP16_END}, #endif { SFEVT_KEY, SFEVT_KEY, SFP16_BEGIN, SFP16_END}, { SFEVT_RESPONDER_VALUE, SFEVT_RESPONDER_VALUE, SFP16_VALUE_CURRENT, SFP16_VALUE_CURRENT} }; static SFXEventRange::AtomRecConst vrange[] = { { SFEVT_RESPONDER_VALUE, SFEVT_RESPONDER_VALUE, SFP16_VALUE_CURRENT, SFP16_VALUE_CURRENT}, { SFEVT_RESPONDER_BOUND, SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL, SFP16_BOUND_VIRTUAL} }; SFYHandler::RuleRec lrule[lengthof(lrange)]; SFYHandler::RuleRec vrule[lengthof(vrange)]; SFYHandler::RuleRec brule[lengthof(brange)]; SFCError error; if (static_try()) { SetType(CODE_TYPE); lrule[0].spp = XANDLER_FUNCTION(OnShield); lrule[0].reference = this; lrule[1].spp = XANDLER_FUNCTION(OnKey); lrule[1].reference = this; lrule[2].spp = XANDLER_FUNCTION(OnCurrentValue); lrule[2].reference = this; static_throw(RegisterHandler(atomic_cast(lrange), lrule, lengthof(lrange))); if (static_try()) { if ((_vertical = SFYVerticalFlexListControl::NewInstance(&error)) != null) { static_throw(_vertical->SetParent(GetThis())); if (static_try()) { vrule[0].spp = XANDLER_FUNCTION(OnVerticalCurrentValue); vrule[0].reference = this; vrule[1].spp = XANDLER_FUNCTION(OnVerticalBound); vrule[1].reference = this; static_throw(_vertical->RegisterHandler(atomic_cast(vrange), vrule, lengthof(vrange))); if (static_try()) { _vertical->SetPropertyTransparent(true); _vertical->SetState(true, true, true, true); if ((_bar.smp = SFZScrollBarControl::NewInstance(&error)) != null) { static_throw(_bar.smp->SetParent(GetThis())); if (static_try()) { _bar.smp->SetOrientation(SFYScrollBarControl::VERTICAL); brule[0].spp = XANDLER_FUNCTION(OnBarScrollEnable); brule[0].reference = this; static_throw(_bar.smp->RegisterHandler(atomic_cast(brange), brule, lengthof(brange))); if (static_try()) { _bar.smp->SetState(true, true, false, false); _bar.width = DEFAULT_BAR_WIDTH; _key.sup = AVK_UP; _key.sdown = AVK_DOWN; _key.pup = AVK_TXPGUP; _key.pdown = AVK_TXPGDOWN; _key.nup = AVK_TXHOME; _key.ndown = AVK_TXEND; _key.escape = AVK_CLR; _accKeyEnable = true; _itemEmpty.property.key = static_cast<AVKType>(0); _itemEmpty.property.id = INVALID_COMMAND_ID; _itemEmpty.property.enable = false; _sub.normal.header.color.Set(rgb[0]); _sub.normal.body.color.Set(rgb[0]); _sub.select.header.color.Set(rgb[1]); _sub.select.body.color.Set(rgb[1]); _sub.space = DEFAULT_SPACE; _sub.normal.horizontal = DEFAULT_HORIZONTAL; _sub.select.horizontal = DEFAULT_HORIZONTAL; _sub.normal.vertical = DEFAULT_VERTICAL; _sub.select.vertical = DEFAULT_VERTICAL; _sub.normal.header.font = AEE_FONT_NORMAL; _sub.normal.body.font = AEE_FONT_NORMAL; _sub.select.header.font = AEE_FONT_NORMAL; _sub.select.body.font = AEE_FONT_NORMAL; _sub.scroll.wait = DEFAULT_WAIT; _sub.scroll.interval = DEFAULT_SCROLL; _sub.scroll.step = DEFAULT_STEP; _sub.scroll.direction = DEFAULT_DIRECTION; _sub.toggle = 0; } } } else { static_throw(error); } } } } else { static_throw(error); } } } }// SFZFlexListBoxControl::SFZFlexListBoxControl // /*private */XANDLER_IMPLEMENT_BOOLEVENT(SFZFlexListBoxControl, OnShield, invoker, event) { unused(invoker); return (event.GetP16() == GetScrollUpKey() || event.GetP16() == GetScrollDownKey() || event.GetP16() == GetPageUpKey() || event.GetP16() == GetPageDownKey() || event.GetP16() == GetSnapUpKey() || event.GetP16() == GetSnapDownKey() || event.GetP16() == GetOperateKey() || event.GetP16() == GetEscapeKey() || (GetAccessKeyEnable() && _vertical->ContainsAccessKey(static_cast<AVKType>(event.GetP16()))) ); }// XANDLER_IMPLEMENT_BOOLEVENT(SFZFlexListBoxControl, OnShield) // /*private */XANDLER_IMPLEMENT_BOOLEVENT(SFZFlexListBoxControl, OnKey, invoker, event) { Bool result(false); unused(invoker); if (event.GetP16() == GetOperateKey()) { HandleOperateKey(); result = true; } else if (event.GetP16() == GetEscapeKey()) { HandleEscapeKey(); result = true; } else if (event.GetP16() == GetScrollUpKey()) { _vertical->ScrollUp(); result = true; } else if (event.GetP16() == GetScrollDownKey()) { _vertical->ScrollDown(); result = true; } else if (event.GetP16() == GetPageUpKey()) { _vertical->PageUp(); result = true; } else if (event.GetP16() == GetPageDownKey()) { _vertical->PageDown(); result = true; } else if (event.GetP16() == GetSnapUpKey()) { _vertical->SnapUp(); result = true; } else if (event.GetP16() == GetSnapDownKey()) { _vertical->SnapDown(); result = true; } else if (GetAccessKeyEnable() && _vertical->ContainsAccessKey(static_cast<AVKType>(event.GetP16()))) { result = HandleAccessKey(static_cast<AVKType>(event.GetP16())); } return result; }// XANDLER_IMPLEMENT_BOOLEVENT(SFZFlexListBoxControl, OnKey) // /*private */XANDLER_IMPLEMENT_VOIDVALUE(SFZFlexListBoxControl, OnCurrentValue, invoker, reason, value) { unused(invoker); unused(reason); _vertical->SetCurrentValue(value); return; }// XANDLER_IMPLEMENT_VOIDVALUE(SFZFlexListBoxControl, OnCurrentValue) // /*private */XANDLER_IMPLEMENT_VOIDVALUE(SFZFlexListBoxControl, OnVerticalCurrentValue, invoker, reason, value) { SInt32 cur(value); SInt32 max(GetItemCount()); unused(invoker); unused(reason); if (cur >= max) { cur = max - 1; } if (cur < 0) { cur = 0; } if (cur == value) { SetCurrentValue(value); } return; }// XANDLER_IMPLEMENT_VOIDVALUE(SFZFlexListBoxControl,, OnVerticalCurrentValue) // /*private */XANDLER_IMPLEMENT_VOIDBOUND(SFZFlexListBoxControl, OnVerticalBound, invoker, reason, rectangle) { SFXRectangle rx; SFXRectangle vx; SInt16 max; SInt16 cur; SInt16 page; unused(invoker); if (_bar.smp != null) { switch (reason) { case SFP16_BOUND_REAL: rx.Set(*rectangle); if (_bar.smp->GetOrientation() == SFYScrollBarControl::VERTICAL) { page = rx.GetHeight(); } else { page = rx.GetWidth(); } _bar.smp->SetPageValue(page); break; case SFP16_BOUND_VIRTUAL: vx.Set(*rectangle); if (_bar.smp->GetOrientation() == SFYScrollBarControl::VERTICAL) { max = vx.GetHeight(); cur = -vx.GetTop(); } else { max = vx.GetWidth(); cur = -vx.GetLeft(); } _bar.smp->SetMinimumValue(0); _bar.smp->SetMaximumValue(max); _bar.smp->SetCurrentValue(cur); break; default: break; } } return; }// XANDLER_IMPLEMENT_VOIDBOUND(SFZFlexListBoxControl, OnVerticalBound) // /*private */XANDLER_IMPLEMENT_VOIDSCROLLBAR(SFZFlexListBoxControl, OnBarScrollEnable, invoker, reason) { unused(invoker); unused(reason); _bar.smp->SetState(_bar.smp->IsScrollable(), _bar.smp->IsScrollable(), false, false); Relocate(); return; }// XANDLER_IMPLEMENT_VOIDSCROLLBAR(SFZFlexListBoxControl, OnBarScrollEnable) // /*protected */SFYFlexListControl::SFYFlexListControl(Void) static_throws { static SFXRGBColor::AtomRecConst rgb[] = { {{{0x00, 0xFF, 0xFF, 0xFF}}}, // color.even / color.odd (white) {{{0x00, 0x11, 0x22, 0xBB}}}, // color.select (blue) {{{0x00, 0x00, 0x00, 0x00}}} // color.gridLine (black) }; static SFXMargin::AtomRecConst margin[] = { {1, 1, 1, 1} }; if (static_try()) { SetType(CODE_TYPE); _listMargin.Set(margin[0]); _repeat = false; _color.even.Set(rgb[0]); _color.odd.Set(rgb[0]); _color.select.Set(rgb[1]); _color.gridLine.Set(rgb[2]); _property.enable = true; _line = false; } }// SFYFlexListControl::SFYFlexListControl //
SFYResponder::SetType | SFZFlexListBoxControl::CodeEnum | SFZFlexListBoxControl::SetScrollBarWidth | SFYControl::GetCurrentValue | SFZFlexListBoxControl::SetScrollRepeat | SFZFlexListBoxControl::SetEvenListColor | SFZFlexListBoxControl::SetOddListColor | SFZFlexListBoxControl::SetSelectListColor | SFZFlexListBoxControl::SetTextColor | SFZFlexListBoxControl::SetGridLineColor | SFZFlexListBoxControl::SetListMargin | SFZFlexListBoxControl::SetGridLineEnable | SFZFlexListBoxControl::SetAccessKeyEnable | SFZFlexListBoxControl::SetFont | SFZFlexListBoxControl::SetSpaceSize | SFZFlexListBoxControl::SetToggle | SFZFlexListBoxControl::SetScrollDirection | SFZFlexListBoxControl::SetScrollInterval | SFZFlexListBoxControl::SetScrollStep | SFZFlexListBoxControl::SetWaitInterval | SFYBoxControl::SetOperateKey | SFZFlexListBoxControl::SetItemAccessKey | SFZFlexListBoxControl::HandleOperateKey | SFZFlexListBoxControl::SetEscapeKey | SFZFlexListBoxControl::HandleEscapeKey | SFZFlexListBoxControl::SetScrollUpKey | SFZFlexListBoxControl::SetScrollDownKey | SFZFlexListBoxControl::SetPageUpKey | SFZFlexListBoxControl::SetPageDownKey | SFZFlexListBoxControl::SetSnapUpKey | SFZFlexListBoxControl::SetSnapDownKey | SFZFlexListBoxControl::HorizontalEnum | SFZFlexListBoxControl::VerticalEnum | SFZFlexListBoxControl::DirectionEnum | SFZFlexListBoxControl::DefaultEnum | SFZFlexListBoxControl::ToggleEnum | SFXMargin | SFXRGBColor | SFXEvent | タイプ | 実領域 | イベント | キーイベント[SFEVT_KEY] | 値イベント[SFEVT_RESPONDER_VALUE] | 領域イベント[SFEVT_RESPONDER_BOUND]
[ protected, virtual ] virtual ~SFZFlexListBoxControl(Void);
このフレックスリストボックスコントロールからすべての項目を削除します。
このデストラクタの内部実装は以下の通りです。
/*protected virtual */SFZFlexListBoxControl::~SFZFlexListBoxControl(Void) { }// SFZFlexListBoxControl::~SFZFlexListBoxControl // /*protected virtual */SFYFlexListControl::~SFYFlexListControl(Void) { WidgetArray::Iterator itor; itor = _widget.GetFirstIterator(); while (itor.HasNext()) { ::delete itor.GetNext(); } }// SFYFlexListControl::~SFYFlexListControl //
[ public ] Void Clear(Void);
この関数は、リストボックスからすべての項目を削除します。
この関数は、指定されたアクセスキーが登録されているかどうかを判定します。
[ public, const ] SInt32 FirstIndexOfCommandId( UInt32 id // コマンド ID );
[ public, const ] SInt32 FirstIndexOfCommandId( UInt32 id // コマンド ID SInt32 index // 検索開始位置 );
この関数は、 指定されたコマンド ID を先頭から末尾に向かって検索し、最初に見つかった位置のインデックスを取得します。
注意 | |
---|---|
検索開始位置を指定することで、先頭以外の位置から検索できます。 |
コマンド ID | |
---|---|
コマンド ID とは、リスト内の項目に識別子として自由に設定できる 32ビット符号なし整数(UInt32 型)のことです。 FirstIndexOfCommandId / LastIndexOfCommandId 関数で コマンド ID を指定して項目を検索することができます。 |
SFZFlexListBoxControl::SetItemCommandId | SFZFlexListBoxControl::LastIndexOfCommandId | SFZFlexListBoxControl::ItemRec
[ public, const ] Bool GetAccessKeyEnable(Void);
この関数は、アクセスキー有効フラグの値を取得します。
[ public, const ] AVKType GetEscapeKey(Void);
ESCAPE キー。
この関数は、SFZFlexListBoxControl::SetEscapeKey 関数によって設定された ESCAPE キーを取得します。
[ public, const ] SFXRGBColorConstRef GetEvenListColor(Void);
偶数番目の非選択項目の背景色。
この関数は、偶数番目の非選択項目の背景色を取得します。
[ public, const ] AEEFont GetFont( TextEnum textEnum // 文字列定数 );
指定された文字列定数に対応するフォント。
この関数は、指定された文字列定数に対応するフォントを取得します。
[ public, const ] SFXRGBColorConstRef GetGridLineColor(Void);
グリッド線の色。
この関数は、グリッド線の色を取得します。
[ public, const ] Bool GetGridLineEnable(Void);
グリッド線有効フラグの値。
この関数は、グリッド線有効フラグの値を取得します。
[ public, const ] HorizontalEnum GetHorizontalAlign(Void);
水平アライメントの値。
この関数は、水平アライメントの値を取得します。
[ public, const ] ItemRec GetItem( SInt32 index // 項目のインデックス SFCErrorPtr exception = null // エラー値ポインタ );
アイテム構造体(SFZFlexListBoxControl::ItemRec)。
指定された項目のアクセスキー(AVKType)。
この関数は、指定された項目のアクセスキーを取得します。
アクセスキーが設定されていない場合、static_cast<AVKType>(0) が返ります。
指定された項目のコマンド ID。
この関数は、指定された項目のコマンド ID を取得します。
コマンド ID | |
---|---|
コマンド ID とは、リスト内の項目に識別子として自由に設定できる 32ビット符号なし整数(UInt32 型)のことです。 FirstIndexOfCommandId / LastIndexOfCommandId 関数で コマンド ID を指定して項目を検索することができます。 |
SFZFlexListBoxControl::SetItemCommandId | SFZFlexListBoxControl::FirstIndexOfCommandId | SFZFlexListBoxControl::LastIndexOfCommandId | SFZFlexListBoxControl::ItemRec
[ public, const ] SInt32 GetItemCount(Void);
フレックスリストボックスコントロールの項目の数。
この関数は、フレックスリストボックスコントロールの項目の数を取得します。
項目の有効フラグに設定された値(Bool 型)。
この関数は、指定された項目の有効フラグの値を取得します。
指定された項目の高さ 。[単位:ピクセル]
この関数は、リストボックスコントロール内の指定された項目の高さを取得します。
注意 | |
---|---|
SFZFlexListBoxControl::SetFont 関数で項目に設定されたフォントの高さ、 SFZFlexListBoxControl::SetItemIconImage 関数で項目に設定されたアイコン画像の高さ、 SFZFlexListBoxControl::SetListMargin 関数で設定された上下の余白からフレックスリストボックスコントロールの項目の高さを計算します。 |
SFZFlexListBoxControl::SetFont | SFZFlexListBoxControl::SetItemIconImage | SFZFlexListBoxControl::SetListMargin
[ public, const ] SFBImageSmpConstRef GetItemIconImage( SInt32 index // 項目のインデックス IconEnum iconEnum // アイコン定数 );
指定された項目内の指定されたアイコン定数(SFZFlexListBoxControl::IconEnum)に対応する画像。
この関数は、指定された項目内の指定されたアイコン定数(SFZFlexListBoxControl::IconEnum)に対応する画像を取得します。
SFZFlexListBoxControl::SetItemIconImage | SFZFlexListBoxControl::IconEnum | SFZFlexListBoxControl::ItemRec
[ public, const ] SFXWideStringConstRef GetItemText( SInt32 index // 項目のインデックス TextEnum textEnum // 文字列定数 );
指定された項目の指定された文字列定数に対応するテキスト。
この関数は、指定された項目の指定された文字列定数(SFZFlexListBoxControl::TextEnum)に対応する文字列を取得します。
SFZFlexListBoxControl::SetItemText | SFZFlexListBoxControl::TextEnum | SFZFlexListBoxControl::ItemRec
[ public, const ] SFXMarginConstRef GetListMargin(Void);
リスト項目内のマージン(SFXMargin)。
この関数は、リスト項目のマージンを取得します。
[ public, const ] SFXRGBColorConstRef GetOddListColor(Void);
奇数番目の非選択項目の背景色。
この関数は、奇数番目の非選択項目の背景色を取得します。
[ public, const ] AVKType GetPageDownKey(Void);
項目を下方向に 1 ページ分スクロールする PageDown キー。
この関数は、項目を下方向に 1 ページ分スクロールする PageDown キーを取得します。
[ public, const ] AVKType GetPageUpKey(Void);
項目を上方向に 1 ページ分スクロールする PageUp キー。
この関数は、項目を上方向に 1 ページ分スクロールする PageUp キーを取得します。
[ public, const ] SFYScrollBarControlSmpConstRef GetScrollBarControl(Void);
スクロールバーコントロール。
この関数は、フレックスリストボックスで使用されるスクロールバーコントロールを取得します。
開発者は取得したスクロールバーコントロールを使用してスクロールバーの外観を変更することができます。
独自のスクロールバーコントロールを利用する場合は、SFZFlexListBoxControl::SetScrollBarControl 関数を呼び出して設定します。
以下は、スクロールバーコントロールを取得してトラック色を変更するためのコードです。
// スクロールバーコントロールを取得する
SFZFlexListBoxControlSmp _list;
SFYScrollBarControlSmp _bar;
_list = SFZFlexListBoxControl::NewInstance();
if ((_bar = _list->GetScrollBarControl()) != null) {
_bar->SetTrackColor(SFXRGBColor(0xDD, 0xFF, 0xDD, 0x00));
}
[ public, const ] SInt16 GetScrollBarWidth(Void);
スクロールバーの横幅。[単位:ピクセル]
この関数は、スクロールバーの横幅を取得します。[単位:ピクセル]
[ public, const ] DirectionEnum GetScrollDirection(Void);
スクロールの移動方向(SFZFlexListBoxControl::DirectionEnum)。
この関数は、スクロールの移動方向を取得します。
[ public, const ] AVKType GetScrollDownKey(Void);
項目を下方向に1項目スクロールする ScrollDown キー。
この関数は、項目を下方向に1項目スクロールする ScrollDown キーを取得します。
[ public, const ] UInt32 GetScrollInterval(Void);
スクロールインターバル。[単位:ミリ秒]
この関数は、スクロールインターバルを取得します。[単位:ミリ秒]
[ public, const ] Bool GetScrollRepeat(Void);
この関数は、連続スクロールフラグの値を取得します。
注意 | |
---|---|
連続スクロールフラグの値が true の場合、 フォーカスを持つ先頭/末尾の項目を更に上/下方向にフォーカスを移動させようとすると 末尾/先頭の項目にフォーカスが移動します。 先頭の項目から末尾の項目にフォーカスが移動した場合は、 末尾の項目が実領域の最下部の位置に来るように表示されます。 末尾の項目から先頭の項目にフォーカスが移動した場合は、 先頭の項目が実領域の最上部の位置に来るように表示されます。 なお、スクロールするだけの項目が存在しない場合は、 何も起こりません。 |
[ public, const ] SInt16 GetScrollStep(Void);
スクロール移動量。[単位:ピクセル]
この関数は、スクロール移動量を取得します。[単位:ピクセル]
[ public, const ] AVKType GetScrollUpKey(Void);
項目を上方向に1項目スクロールする ScrollUp キー。
この関数は、項目を上方向に1項目スクロールする ScrollUp キーを取得します。
[ public, const ] SFXRGBColorConstRef GetSelectListColor(Void);
選択項目の背景色。
この関数は、選択項目の背景色を取得します。
[ public, const ] AVKType GetSnapDownKey(Void);
項目を下端までスクロールする SnapDown キー。
この関数は、項目を下端までスクロールする SnapDown キーを取得します。
[ public, const ] AVKType GetSnapUpKey(Void);
項目を上端までスクロールする SnapUp キー。
この関数は、項目を上端までスクロールする SnapUp キーを取得します。
[ public, const ] SInt16 GetSpaceSize(Void);
スペースサイズ。[単位:ピクセル]
この関数は、項目の要素間のスペースサイズを取得します。[単位:ピクセル]
[ public, const ] SFXRGBColorConstRef GetTextColor( TextEnum textEnum // 文字列定数 );
文字列定数(SFZFlexListBoxControl::TextEnum)に対応する色。
この関数は、指定された文字列定数(SFZFlexListBoxControl::TextEnum)に対応する色を取得します。
[ public, const ] Toggle GetToggle(Void);
トグル状態(SFZFlexListBoxControl::ToggleEnum の論理和)。
この関数は、トグル状態(SFZFlexListBoxControl::ToggleEnum の論理和)を取得します。
[ public, const ] VerticalEnum GetVerticalAlign(Void);
垂直アライメント(SFZFlexListBoxControl::VerticalEnum)。
この関数は、垂直アライメントの値を取得します。
[ public, const ] UInt32 GetWaitInterval(Void);
項目のスクロール開始までの待ち時間。[単位:ミリ秒]
この関数は、項目のスクロール開始までの待ち時間を取得します。[単位:ミリ秒]
この関数は、SFZFlexListBoxControl::SetItemAccessKey 関数で設定したアクセスキーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
SFZFlexListBoxControl::SetAccessKeyEnable 関数によりコントロール全体のアクセスキー有効フラグが true に設定され、 SFZFlexListBoxControl::SetItemAccessKey 関数で設定したアクセスキーを設定した項目が SFZFlexListBoxControl::SetItemEnable 関数により項目の有効フラグが true に設定されている場合、 SFYControl::SetCurrentValue 関数を呼び出してその項目を現在の選択項目とします。 そして、結果イベント[SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, 指定されたアクセスキーが設定されている項目のインデックス)]を送信します。
コントロール全体のアクセスキー有効フラグが false に設定されている場合や、 項目の有効フラグが false に設定されている場合、何も処理されません。
同じアクセスキーが複数の項目に設定されている場合は、最初の項目に設定されたものだけが有効になります。
この関数の内部実装は以下の通りです。
/*protected virtual */Bool SFZFlexListBoxControl::HandleAccessKey(AVKType key) { Bool result(false); for (SInt32 i = 0; i < GetItemCount(); ++ i) { if (GetItemAccessKey(i) == key) { if (GetItemEnable(i)) { SetCurrentValue(i); InvokeForward(SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, i), false); result = true; break; } } } return result; }// SFZFlexListBoxControl::HandleAccessKey // }// SFYWidget::HandleBoundOptimize //
SFZFlexListBoxControl::SetItemAccessKey | SFZFlexListBoxControl::SetAccessKeyEnable | SFZFlexListBoxControl::SetItemEnable SFYControl::GetCurrentValue | SFXEvent | 結果イベント | キーイベント[SFEVT_KEY]
[ protected, virtual, const ] Void HandleBoundOptimize( SFXRectanglePtr rectangle // 矩形 );
この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE, rectangle)] を受信したときに呼び出されます。
引数 rectangle で指定した矩形領域に収まる範囲内で、レスポンダの最適な領域を計算します。
計算結果のレスポンダに最適なサイズは、rectangle 引数の size 要素(サイズ)に格納されます。 なお、領域イベントの P32 パラメータとして渡された rectangle 引数の origin 要素(始点)はこの関数内で変更しないことを推奨します。
デフォルトの実装は以下の通りです。
項目の高さ | |
---|---|
SFZFlexListBoxControl では、 各項目の高さは異なる可能性があるため項目毎に高さを計算し、その和をとっています。 一方、SFZListBoxControl では、項目の高さはすべて同じです。 |
項目のフォント、アイコンキャラクタやアイコン画像、文字列、スペースサイズ、マージン | |
---|---|
項目内の要素であるフォント、アイコンキャラクタやアイコン画像、文字列、マージンは、 SFZFlexListBoxControl::SetFont 関数、 SFZFlexListBoxControl::SetItem 関数、 SFZFlexListBoxControl::SetItemIconImage 関数、 SFZFlexListBoxControl::SetItemText 関数、 SFZFlexListBoxControl::SetSpaceSize 関数、 SFZFlexListBoxControl::SetListMargin 関数を使用して設定されます。 アイコンキャラクタやアイコン画像、文字列は設定されないこともあります。 設定されていない項目内の要素の長さは 0 として計算されます。 |
スクロールバーの横幅 | |
---|---|
スクロールバーの幅は、SFZFlexListBoxControl::SetScrollBarWidth 関数で設定される幅です。 |
ボックス枠用のマージン | |
---|---|
ボックスコントロールのマージンは、SFXMargin(3, 3, 3, 3) で表される領域です。 詳細は SFYBoxControl::GetBoxMargin 関数の解説を参照してください。 |
領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベント] | |
---|---|
SFYResponder::GetSuitableBound 関数は、 引数にヒント領域を指定した場合は 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE, rectangle)] をレスポンダに送信します。 SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundOptimize 仮想関数が呼び出されます。 ※ 領域イベントの P32 パラメータ rectangle にはヒント領域が初期設定されています。 |
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベント受信時の最適な領域計算 | |
---|---|
SFYWidget::HandleBoundOptimize 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。 最適な領域の計算は、最初に SFYWidget::HandleBoundOptimize 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。 領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundOptimize 仮想関数をオーバーライドして処理を記述します。 |
この関数の内部実装は以下の通りです。
struct ScrollBarRec { SFYScrollBarControlSmp smp; SInt16 width; }; SFYVerticalFlexListControlSmp _vertical; ScrollBarRec _bar; /*protected virtual */Void SFZFlexListBoxControl::HandleBoundOptimize(SFXRectanglePtr rectangle) const { SFXSize size; rectangle->Deflate(GetBoxMargin()); size.Set(_vertical->GetSuitableBound(*rectangle).GetSize()); if (_vertical->IsOptimizeOver()) { rectangle->SubWidth(_bar.width); size.Set(_vertical->GetSuitableBound(*rectangle).GetSize()); rectangle->SetSize(size); rectangle->AddWidth(_bar.width); } else { rectangle->SetSize(size); } rectangle->Inflate(GetBoxMargin()); return; }// SFZFlexListBoxControl::HandleBoundRequest //
SFYResponder::GetSuitableBound | SFZFlexListBoxControl::SetFont | SFZFlexListBoxControl::SetItem | SFZFlexListBoxControl::SetItemIconImage | SFZFlexListBoxControl::SetItemText | SFZFlexListBoxControl::SetSpaceSize | SFZFlexListBoxControl::SetListMargin | SFZFlexListBoxControl::SetScrollBarWidth | SFYBoxControl::GetBoxMargin | SFXMargin | SFZListBoxControl | SFXEvent | 領域イベント[SFEVT_RESPONDER_BOUND] | 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]
[ protected, virtual, const ] Void HandleBoundRequest( SFXRectanglePtr rectangle // 計算された矩形 );
この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST, rectangle)] を受信したときに呼び出されます。
レスポンダの最適な領域を計算します。
計算結果のレスポンダに最適なサイズは、rectangle 引数の size 要素(サイズ)に格納されます。 なお、領域イベントの P32 パラメータとして渡された rectangle 引数の origin 要素(始点)はこの関数内で変更しないことを推奨します。
デフォルトの実装は以下の通りです。
項目の高さ | |
---|---|
SFZFlexListBoxControl では、 各項目の高さは異なる可能性があるため項目毎に高さを計算し、その和をとります。 一方、SFZListBoxControl では、項目の高さはすべて同じです。 |
項目のフォント、アイコンキャラクタやアイコン画像、文字列、スペースサイズ、マージン | |
---|---|
項目内の要素であるフォント、アイコンキャラクタやアイコン画像、文字列、マージンは、 SFZFlexListBoxControl::SetFont 関数、 SFZFlexListBoxControl::SetItem 関数、 SFZFlexListBoxControl::SetItemIconImage 関数、 SFZFlexListBoxControl::SetItemText 関数、 SFZFlexListBoxControl::SetSpaceSize 関数、 SFZFlexListBoxControl::SetListMargin 関数を使用して設定されます。 アイコンキャラクタやアイコン画像、文字列は設定されないこともあります。 設定されていない項目内の要素の長さは 0 として計算されます。 |
ボックス枠用のマージン | |
---|---|
ボックスコントロールのマージンは、SFXMargin(3, 3, 3, 3) で表される領域です。 詳細は SFYBoxControl::GetBoxMargin 関数の解説を参照してください。 |
領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベント] | |||||
---|---|---|---|---|---|
SFYResponder::GetSuitableBound 関数は、 引数に何も指定しない場合は 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST, rectangle)] をレスポンダに送信します。 SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundRequest 仮想関数が呼び出されます。 ※ 領域イベントの P32 パラメータ rectangle には実領域が初期設定されています。
|
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベント受信時の最適な領域計算 | |
---|---|
SFYWidget::HandleBoundRequest 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。 最適な領域の計算は、最初に SFYWidget::HandleBoundRequest 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。 領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundRequest 仮想関数をオーバーライドして処理を記述します。 |
この関数の内部実装は以下の通りです。
SFYVerticalFlexListControlSmp _vertical; /*protected virtual */Void SFZFlexListBoxControl::HandleBoundRequest(SFXRectanglePtr rectangle) const { SFXSize size; rectangle->Deflate(GetBoxMargin()); size.Set(_vertical->GetSuitableBound().GetSize()); rectangle->SetSize(size); rectangle->Inflate(GetBoxMargin()); return; }// SFZFlexListBoxControl::HandleBoundRequest //
SFYResponder::GetSuitableBound | SFZFlexListBoxControl::SetFont | SFZFlexListBoxControl::SetItem | SFZFlexListBoxControl::SetItemIconImage | SFZFlexListBoxControl::SetItemText | SFZFlexListBoxControl::SetSpaceSize | SFZFlexListBoxControl::SetListMargin | SFYBoxControl::GetBoxMargin | SFXMargin | SFZListBoxControl | SFXEvent | 実領域 | 領域イベント[SFEVT_RESPONDER_BOUND]
[ protected, virtual ] Void HandleBoundVirtual(Void);
この関数は、領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] を受信したときに呼び出されます。
仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。
領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベント] | |
---|---|
SFYResponder::SetRealBound / SFYResponder::SetVirtualBound 関数は、 この関数内の処理により仮想領域が変化すると、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] をレスポンダに送信します。 SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundVirtual 仮想関数が呼び出されます。 ※ 領域イベントの P32 パラメータ rectangle には変更後の仮想領域が設定されています。 |
仮想領域の変更処理 | |
---|---|
SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。 仮想領域の変更処理は、最初に仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。 領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常はこの仮想関数をオーバーライドして処理を記述します。 |
この関数の内部実装は以下の通りです。
struct ScrollBarRec { SFYScrollBarControlSmp smp; SInt16 width; }; SFYVerticalFlexListControlSmp _vertical; ScrollBarRec _bar; /*protected virtual */Void SFZFlexListBoxControl::HandleBoundVirtual(Void) { Relocate(); return; }// SFZFlexListBoxControl::HandleBoundVirtual // /*private */Void SFZFlexListBoxControl::Relocate(Void) { SFYFlexListItemWidgetSmp widget; SFXRectangle rc(GetLocalBound()); SFXRectangle vx; SFXRectangle bx; SInt16 width(0); if (_bar.smp != null && _bar.smp->IsScrollable()) { width = _bar.width; } rc.Deflate(GetBoxMargin()); vx.Set(rc.SubWidth(width)); rc.AddX(rc.GetWidth()); bx.Set(rc.SetWidth(width)); if (_bar.smp != null) { _bar.smp->SetRealBound(bx); } _vertical->SetRealBound(vx); if (GetItemEnable(GetCurrentValue())) { if ((widget = GetItemWidget(GetCurrentValue())) != null) { if (widget->GetStateActive(true)) { widget->StartScroll(); } } } return; }// SFZFlexListBoxControl::Relocate //
[ protected, virtual ] Void HandleEscapeKey(Void);
この関数は、SFZFlexListBoxControl::SetEscapeKey 関数で設定した ESCAPE キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装では、 結果イベント [SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_ESCAPE, 0)] を送信します。
この関数の内部実装は以下の通りです。
/*protected virtual */Void SFZFlexListBoxControl::HandleEscapeKey(Void) { InvokeForward(SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_ESCAPE, 0), false); return; }// SFZFlexListBoxControl::HandleEscapeKey //
SFZFlexListBoxControl::SetEscapeKey SFXEvent | 結果イベント[SFEVT_RESPONDER_RESULT] | キーイベント[SFEVT_KEY]
[ protected, virtual ] Void HandleOperateKey(Void);
この関数は、SFYBoxControl::SetOperateKey 関数で設定した操作キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
SFZFlexListBoxControl::SetItemEnable 関数により選択された項目の有効フラグが true に設定されている場合、 結果イベント [SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, SFYControl::GetCurrentValue 関数の戻り値)] を送信します。
項目の有効フラグが false に設定されている場合、結果イベントを送信しません。
この関数の内部実装は以下の通りです。
/*protected virtual */Void SFZFlexListBoxControl::HandleOperateKey(Void) { if (GetItemEnable(GetCurrentValue())) { InvokeForward(SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, GetCurrentValue()), false); } return; }// SFZFlexListBoxControl::HandleOperateKey //
SFYBoxControl::SetOperateKey | SFZFlexListBoxControl::SetItemEnable | SFXEvent | 結果イベント[SFEVT_RESPONDER_RESULT] | キーイベント[SFEVT_KEY]
[ protected, virtual, const ] Void HandleRenderRequest( SFXGraphicsPtr graphics // グラフィックスオブジェクト );
この関数は、 描画イベント [SFXEvent(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST, graphics)] を受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装は、フレックスリストボックスコントロールを描画します。
レスポンダの描画手順 | |||||
---|---|---|---|---|---|
|
この関数の内部実装は以下の通りです。
/*protected virtual */Void SFZFlexListBoxControl::HandleRenderRequest(SFXGraphicsPtr graphics) const { DrawBox(graphics, GetLocalBound()); return; }// SFZFlexListBoxControl::HandleRenderRequest //
SFYResponder::Invalidate | SFYResponder::Render | SFYResponder::InvokeBackward | 描画イベント[SFEVT_RESPONDER_RENDER] | 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER] | 描画処理
[ public ] SFCError Insert( SInt32 index // 項目のインデックス ItemRecConstRef item // アイテム構造体 );
[ public ] SFCError Insert( SInt32 index // 項目のインデックス ItemRecConstPtr item // アイテム構造体へのポインタ SInt32 length // 挿入する数 );
[ public ] SFCError Insert( SInt32 index // 項目のインデックス SFXWideStringConstRef text // 文字列 );
[ public ] SFCError Insert( SInt32 index // 項目のインデックス SFXWideStringConstPtr text // 文字列へのポインタ SInt32 length // 挿入する数 );
この関数は、指定されたインデックスの位置に項目を挿入します。
index 引数が 0 以下の場合は先頭に挿入されます。
index 引数が項目数以上の場合は末尾に挿入されます。
注意 | |
---|---|
追加後の項目数が SFYControl クラスの最大値として設定されます。 |
アイテム構造体 | |
---|---|
アイテム構造体については、SFZFlexListBoxControl::ItemRec の解説を参照してください。 |
SFZFlexListBoxControl::InsertFirst | SFZFlexListBoxControl::InsertLast | SFZFlexListBoxControl::Remove | SFYControl::SetMaximumValue | SFZFlexListBoxControl::ItemRec
[ public ] SFCError InsertFirst( ItemRecConstRef item // アイテム構造体 );
[ public ] SFCError InsertFirst( ItemRecConstPtr item // アイテム構造体へのポインタ SInt32 length // 挿入する数 );
[ public ] SFCError InsertFirst( SFXWideStringConstRef text // 文字列 );
[ public ] SFCError InsertFirst( SFXWideStringConstPtr text // 文字列へのポインタ SInt32 length // 挿入する数 );
この関数は、先頭に項目を挿入します。
注意 | |
---|---|
追加後の項目数が SFYControl クラスの最大値として設定されます。 |
アイテム構造体 | |
---|---|
アイテム構造体については、SFZFlexListBoxControl::ItemRec の解説を参照してください。 |
SFZFlexListBoxControl::Insert | SFZFlexListBoxControl::InsertLast | SFZFlexListBoxControl::RemoveFirst | SFYControl::SetMaximumValue | SFZFlexListBoxControl::ItemRec
[ public ] SFCError InsertLast( ItemRecConstRef item // アイテム構造体 );
[ public ] SFCError InsertLast( ItemRecConstPtr item // アイテム構造体へのポインタ SInt32 length // 挿入する数 );
[ public ] SFCError InsertLast( SFXWideStringConstRef text // 文字列 );
[ public ] SFCError InsertLast( SFXWideStringConstPtr text // 文字列へのポインタ SInt32 length // 挿入する数 );
この関数は、末尾に項目を挿入します。
注意 | |
---|---|
追加後の項目数が SFYControl クラスの最大値として設定されます。 |
アイテム構造体 | |
---|---|
アイテム構造体については、SFZFlexListBoxControl::ItemRec の解説を参照してください。 |
SFZFlexListBoxControl::InsertFirst | SFZFlexListBoxControl::InsertLast | SFZFlexListBoxControl::RemoveLast | SFYControl::SetMaximumValue | SFZFlexListBoxControl::ItemRec
[ public, const ] SInt32 LastIndexOfCommandId( UInt32 id // コマンド ID );
[ public, const ] SInt32 LastIndexOfCommandId( UInt32 id // コマンド ID SInt32 index // 検索開始位置 );
この関数は、コマンド ID を末尾から先頭に向かって検索し、最初に見つかった位置のインデックスを取得します。
注意 | |
---|---|
検索開始位置を指定することで、末尾以外の位置から検索できます。 |
コマンド ID | |
---|---|
コマンド ID とは、リスト内の項目に識別子として自由に設定できる 32ビット符号なし整数(UInt32 型)のことです。 FirstIndexOfCommandId / LastIndexOfCommandId 関数で コマンド ID を指定して項目を検索することができます。 |
[ public, static ] SFZFlexListBoxControlSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
関数内部で発生したエラー値を返します。
この関数は、SFZFlexListBoxControl クラスの新しいインスタンスを作成します。
作成に成功した場合は null 以外のポインタを返し、exception 引数は常に SFERR_NO_ERROR になります。メモリ不足などで作成に失敗した場合は null ポインタを返し、exception 引数にエラー値が返ります。
以下は、フレックスリストボックスのインスタンスを生成するためのコードです。
// フレックスリストボックスのインスタンスを生成する SFCError error; SFZFlexListBoxControlSmp _list; if ((_list = SFZFlexListBoxControl::NewInstance(&error)) != null) { // ... }
[ public ] Void Remove( SInt32 begin // 削除開始位置 (この位置を含む) SInt32 end // 削除終了位置 (この位置を含まない) );
[ public ] Void Remove( SInt32 index // 削除する項目のインデックス );
この関数は、 指定されたインデックスの位置または範囲の項目を削除します。
削除する項目の位置が 0 より小さい場合、または項目数以上の場合、項目の削除は行われません。
削除開始位置が項目数以上の場合、または 削除終了位置が 0 以下の場合、項目の削除は行われません。
削除開始位置が 0 より小さい場合、削除開始位置は 0 に再設定されます。
削除終了位置が項目数より大きい場合、削除終了位置は項目数に再設定されます。
注意 | |
---|---|
削除後の項目数が SFYControl クラスの最大値として設定されます。 |
SFZFlexListBoxControlSmp listbox; // インスタンスの作成等 ... // 項目を追加 if (listbox->InsertLast("0番目") == SFERR_NO_ERROR) { // 項目を追加 if (listbox->InsertLast("1番目") == SFERR_NO_ERROR) { // 項目を追加 if (listbox->InsertLast("2番目") == SFERR_NO_ERROR) { // 項目を追加 if (listbox->InsertLast("3番目") == SFERR_NO_ERROR) { // 2 番目を選択する listbox->SetCurrentValue(2); ////////////////////////// // リストボックスの状態 // // 0: "0番目" // // 1: "1番目" // // 2: "2番目" ← // // 3: "3番目" // ////////////////////////// // 項目1 から項目2 までを削除する listbox->Remove(1, 3); ////////////////////////// // リストボックスの状態 // // 0: "0番目" // // 1: "3番目" ← // ////////////////////////// } } } }
SFZFlexListBoxControl::Clear | SFZFlexListBoxControl::RemoveFirst | SFZFlexListBoxControl::RemoveLast | SFZFlexListBoxControl::Insert | SFYControl::SetMaximumValue
[ public ] Void RemoveFirst(Void);
SFZFlexListBoxControl::Clear | SFZFlexListBoxControl::Remove | SFZFlexListBoxControl::RemoveLast | SFZFlexListBoxControl::InsertFirst | SFYControl::SetMaximumValue
[ public ] Void RemoveLast(Void);
SFZFlexListBoxControl::Clear | SFZFlexListBoxControl::Remove | SFZFlexListBoxControl::RemoveFirst | SFZFlexListBoxControl::InsertLast | SFYControl::SetMaximumValue
この関数は、アクセスキー有効フラグを設定します。
注意 | |
---|---|
アクセスキー有効フラグは、 リストボックスコントロール全体でアクセスキーの設定が有効であるかどうかを表します。 このフラグを true に設定すると、 SFZFlexListBoxControl::SetItemEnable 関数で設定する、 項目の有効フラグの値が true のときだけアクセスキーの設定が有効になります。 逆に、false に設定すると、全ての項目のアクセスキーの設定が無効になります。 |
この関数は、フレックスリストボックスの ESCAPE キーを設定します。
デフォルト値: AVK_CLR
注意 | |
---|---|
ESCAPE キーが押下されると、 SFZFlexListBoxControl::HandleEscapeKey 関数が呼び出されます。 |
[ public ] Void SetEvenListColor( SFXRGBColorConstRef param // 設定する色 );
この関数は、偶数番目の非選択項目の背景色を設定します。
デフォルト値: SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) [白色]
SFZFlexListBoxControl::SetItemEnable 関数を使用して項目の有効フラグが false に設定されているとき、 この関数によって設定される色で背景は描画されません。
このときは、 この関数で設定された色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x33 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x33 を加算した色で背景は描画されます。
色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。
奇数番目の非選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetOddListColor 関数の解説を参照してください。 |
選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetSelectListColor 関数の解説を参照してください。 |
項目の前景色 | |
---|---|
SFZFlexListBoxControl::SetTextColor 関数の解説を参照してください。 |
SFZFlexListBoxControl::GetEvenListColor | SFZFlexListBoxControl::SetOddListColor | SFZFlexListBoxControl::SetSelectListColor | SFZFlexListBoxControl::SetTextColor | SFZFlexListBoxControl::SetItemEnable | SFXRGBColor::GetBrightness | SFXRGBColor
この関数は、指定された文字列定数に対応するフォントを設定します。
デフォルト値: AEE_FONT_NORMAL
[ public ] Void SetGridLineColor( SFXRGBColorConstRef param // 設定する色 );
この関数は、グリッド線の色を設定します。
デフォルト値: SFXRGBColor(0x00, 0x00, 0x00, 0x00) [黒色]。
注意 | |
---|---|
グリッド線は、SFZFlexListBoxControl::SetGridLineEnable 関数を使用して有効フラグが true に設定されているときだけ描画されます。 |
この関数は、グリッド線を有効フラグを設定します。
デフォルト値: false
注意 | |
---|---|
有効フラグが true に設定されているときだけ、 グリッド線は SFZFlexListBoxControl::SetGridLineColor 関数で設定した色で描画されます。 |
グリッド線の描画領域 | |
---|---|
グリッド線は各項目の矩形領域の最下端1ピクセルの線上に描画されます。 グリッド線有効フラグを true に設定する場合は、 SFZFlexListBoxControl::SetListMargin 関数を使用してその分の余白領域を設定することを推奨します。 |
SFZFlexListBoxControl::GetGridLineEnable | SFZFlexListBoxControl::SetGridLineColor | SFZFlexListBoxControl::SetListMargin
[ public ] Void SetHorizontalAlign( HorizontalEnum param // 水平アライメントの値 );
この関数は、水平アライメントを設定します。
デフォルト値: SFZFlexListBoxControl::DEFAULT_HORIZONTAL
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_HORIZONTAL の値は SFZFlexListBoxControl::HorizontalEnum を参照してください。 |
この関数は、指定された項目のアクセスキーを設定します。
デフォルト値: static_cast<AVKType>(0)
注意 | |
---|---|
この関数を使用して設定されたアクセスキーが押下されると、 SFZFlexListBoxControl::HandleAccessKey 関数が呼び出されます。 ただし、この関数が呼び出されるには、 SFZFlexListBoxControl::SetAccessKeyEnable 関数によりアクセスキー有効フラグが true、 SFZFlexListBoxControl::SetItemEnable 関数により項目の有効フラグが true に設定されている必要があります。 |
SFZFlexListBoxControl::GetItemAccessKey | SFZFlexListBoxControl::HandleAccessKey | SFZFlexListBoxControl::SetAccessKeyEnable | SFZFlexListBoxControl::SetItemEnable | SFZFlexListBoxControl::ItemRec | AVKType
この関数は、 指定された項目のコマンド ID を設定します。
デフォルト値: UINT32_MAXIMUM
コマンド ID | |
---|---|
コマンド ID とは、リスト内の項目に識別子として自由に設定できる 32ビット符号なし整数(UInt32 型)のことです。 FirstIndexOfCommandId / LastIndexOfCommandId 関数で コマンド ID を指定して項目を検索することができます。 |
SFZFlexListBoxControl::GetItemCommandId | SFZFlexListBoxControl::FirstIndexOfCommandId | SFZFlexListBoxControl::LastIndexOfCommandId | SFZFlexListBoxControl::ItemRec
この関数は、指定された項目の有効フラグを設定します。
デフォルト値: true
項目の有効フラグが false に設定されているとき | |
---|---|
操作キーやアクセスキーが押下されても結果イベントは送信されません。 項目の前景色(テキストを描画する色)と非選択項目の背景色は以下の通りです。 項目の前景色は、SFZFlexListBoxControl::SetTextColor 関数で設定された色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色になります。 非選択項目の背景色は、SFZFlexListBoxControl::SetEvenListColor 関数や SFZFlexListBoxControl::SetOddListColor 関数で設定された背景色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x33 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x33 を加算した色になります。 色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。 |
注意 | |
---|---|
項目の有効フラグが false に設定されているとき、 選択項目の前景色も上述の補正色になります。 SFZFlexListBoxControl::SetTextColor 関数で設定した選択項目の色ではありません。 選択項目の背景色は、 常に SFZFlexListBoxControl::SetSelectListColor 関数で設定された色になります。 項目の有効フラグが false に設定されているとき、 偶数番目/奇数番目の非選択項目の背景色は、 SFZFlexListBoxControl::SetEvenListColor / SFZFlexListBoxControl::SetOddListColor 関数で設定された背景色を補正した色になります。 |
SFZFlexListBoxControl::GetItemEnable | SFZFlexListBoxControl::HandleOperateKey | SFZFlexListBoxControl::HandleAccessKey | SFZFlexListBoxControl::SetTextColor | SFZFlexListBoxControl::SetEvenListColor | SFZFlexListBoxControl::SetOddListColor | SFZFlexListBoxControl::SetSelectListColor | SFXRGBColor::GetBrightness | SFZFlexListBoxControl::ItemRec
[ public ] SFCError SetItemIconImage( SInt32 index // 項目のインデックス IconEnum iconEnum // アイコン定数 SFXPathConstRef path // リソースファイルのパス );
[ public ] SFCError SetItemIconImage( SInt32 index // 項目のインデックス IconEnum iconEnum // アイコン定数 SFXPathConstRef path // リソースファイルのパス UInt16 id // リソース ID );
[ public ] SFCError SetItemIconImage( SInt32 index // 項目のインデックス IconEnum iconEnum // アイコン定数 SFBImageSmpConstRef param // アイコン画像 );
この関数は、 指定された項目に指定されたアイコン定数(SFZFlexListBoxControl::IconEnum)に対応する画像を設定します。
画像オブジェクトを直接、あるいは、リソースファイルから読み込むように指定します。
画像サイズの X または Y 成分が 0 以下のときや画像にアニメーションが含まれるときは、SFERR_INVALID_PARAM が返ります。
SFZFlexListBoxControl::GetItemIconImage | SFZFlexListBoxControl::IconEnum | SFZFlexListBoxControl::ItemRec
[ public ] SFCError SetItemText( SInt32 index // 項目のインデックス TextEnum textEnum // 文字列定数 SFXPathConstRef path // リソースファイルのパス UInt16 id // リソース ID );
[ public ] SFCError SetItemText( SInt32 index // 項目のインデックス TextEnum textEnum // 文字列定数 SFXWideStringConstRef param // 文字列 );
この関数は、 指定された項目に指定された文字列定数(SFZFlexListBoxControl::TextEnum)に対応するテキストを設定します。
テキストは直接、あるいは、リソースファイルから読み込むように指定します。
SFZFlexListBoxControl::GetItemText | SFZFlexListBoxControl::TextEnum | SFZFlexListBoxControl::ItemRec
[ public ] Void SetListMargin( SFXMarginConstRef param // マージン );
[ public ] Void SetOddListColor( SFXRGBColorConstRef param // 設定する色 );
この関数は、奇数番目の非選択項目の背景色を設定します。
デフォルト値: SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) [白色]
SFZFlexListBoxControl::SetItemEnable 関数を使用して項目の有効フラグが false に設定されているとき、 この関数によって設定される色で背景は描画されません。
このときは、 この関数で設定された色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x33 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x33 を加算した色で背景は描画されます。
色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。
偶数番目の非選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetEvenListColor 関数の解説を参照してください。 |
選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetSelectListColor 関数の解説を参照してください。 |
項目の前景色 | |
---|---|
SFZFlexListBoxControl::SetTextColor 関数の解説を参照してください。 |
SFZFlexListBoxControl::GetOddListColor | SFZFlexListBoxControl::SetEvenListColor | SFZFlexListBoxControl::SetSelectListColor | SFZFlexListBoxControl::SetTextColor | SFZFlexListBoxControl::SetItemEnable | SFXRGBColor::GetBrightness | SFXRGBColor
この関数は、項目を下方向に 1 ページ分スクロールする PageDown キーを設定します。
デフォルト値: AVK_TXPGDOWN
注意 | |
---|---|
PageDown キーが押下された場合、 現在の選択項目よりも1ページ(フレックスリストの実領域の高さ)分下の項目が新しい選択項目となり、 実領域の下端の位置に来るようにスクロールします。 現在の選択項目より下に 1 ページ分未満の項目しか存在しなければ、 末尾の項目がフレックスリストの新しい選択項目になります。 仮想領域≧実領域の場合、新しい選択項目(=末尾の項目)が実領域の下端の位置に来るようにスクロールします。 |
SFZFlexListBoxControl::GetPageDownKey | SFZFlexListBoxControl::SetPageUpKey | SFZFlexListBoxControl::SetScrollUpKey | SFZFlexListBoxControl::SetScrollDownKey | SFZFlexListBoxControl::SetSnapUpKey | SFZFlexListBoxControl::SetSnapDownKey | SFXEvent | 値イベント [SFEVT_RESPONDER_VALUE] | AVKType
この関数は、項目を上方向に 1 ページ分スクロールする PageUp キーを設定します。
デフォルト値: AVK_TXPGUP
注意 | |
---|---|
PageUp キーが押下された場合、 現在の選択項目よりも1ページ(フレックスリストの実領域の高さ)分上の項目が新しい選択項目となり、 実領域の上端の位置に来るようにスクロールします。 現在の選択項目より上に 1 ページ分未満の項目しか存在しなければ、 先頭の項目がフレックスリストの新しい選択項目になります。 仮想領域≧実領域の場合、新しい選択項目(=先頭の項目)が実領域の上端の位置に来るようにスクロールします。 |
SFZFlexListBoxControl::GetPageUpKey | SFZFlexListBoxControl::SetPageDownKey | SFZFlexListBoxControl::SetScrollUpKey | SFZFlexListBoxControl::SetScrollDownKey | SFZFlexListBoxControl::SetSnapUpKey | SFZFlexListBoxControl::SetSnapDownKey | SFXEvent | 値イベント [SFEVT_RESPONDER_VALUE] | AVKType
[ public ] SFCError SetScrollBarControl( SFYScrollBarControlSmpConstRef param // スクロールバーコントロール );
この関数は、リストボックスで使用されるスクロールバーコントロールを設定します。
注意 | |
---|---|
開発者が独自のスクロールバーを設定したいときに利用します。 |
以下は、カスタムスクロールバーを設定するコードです。
// 独自のスクロールバーコントロール class CustomScrollBarControl : public SFYScrollBarControl { // 独自の定義 }; Void UserApplication::SomeFunction { SFZFlexListBoxControlSmp list; CustomScrollBarControlSmp bar; // リストボックスの生成 list = SFZFlexListBoxControl::NewInstance(); // リストボックスの設定 // … // スクロールバーの生成 bar = CustomScrollBarControl::NewInstance(); // 独自のスクロールバーをリストボックスに設定する list->SetScrollBarControl(bar); return; }
この関数は、スクロールバーコントロールの横幅を設定します。[単位:ピクセル]
デフォルト値: SFZFlexListBoxControl::DEFAULT_BAR_WIDTH ピクセル
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_BAR_WIDTH の値は SFZFlexListBoxControl::DefaultEnum を参照してください。 |
スクロールバーコントロールの幅について | |
---|---|
スクロールバーコントロールの幅として、4 ピクセル以上の値を指定できます。 減分・増分矢印を矩形領域内にバランス良く描画するには、5 以上の奇数を指定することを推奨します。 |
[ public ] Void SetScrollDirection( DirectionEnum param // スクロールの移動方向 );
この関数は、スクロール移動方向を設定します。
デフォルト値: SFZFlexListBoxControl::DEFAULT_DIRECTION
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_DIRECTION の値は SFZFlexListBoxControl::DirectionEnum を参照してください。 |
この関数は、項目を下方向に1項目スクロールする ScrollDown キーを設定します。
デフォルト値: AVK_DOWN
注意 | |
---|---|
ScrollDown キーが押下された場合、 現在の選択項目よりも1つ下の項目がフレックスリストの新しい選択項目になります。 新しい選択項目が実領域内に完全に表示されていない場合は、 実領域の下端の位置に来るようにスクロールします。 連続スクロールフラグの値が true、かつ、 現在の選択項目が末尾の項目であるときに ScrollDown キーを押下すると、 先頭の項目が新しい選択項目となり、実領域の下端の位置に来るようにスクロールします。 このとき、末尾の項目は下から 2 行目の位置に表示されます(先頭の項目は最下行に表示されます)。 |
SFZFlexListBoxControl::GetScrollDownKey | SFZFlexListBoxControl::SetScrollUpKey | SFZFlexListBoxControl::SetScrollRepeat | SFZFlexListBoxControl::SetPageUpKey | SFZFlexListBoxControl::SetPageDownKey | SFZFlexListBoxControl::SetSnapUpKey | SFZFlexListBoxControl::SetSnapDownKey | SFXEvent | 値イベント [SFEVT_RESPONDER_VALUE] | AVKType
この関数は、スクロールインターバルを設定します。[単位:ミリ秒]
デフォルト値: SFZFlexListBoxControl::DEFAULT_SCROLL ミリ秒
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_SCROLL の値は SFZFlexListBoxControl::DefaultEnum を参照してください。 |
この関数は、連続スクロールフラグを指定された値に設定します。
注意 | |
---|---|
連続スクロールフラグの値が true の場合、 フォーカスを持つ先頭/末尾の項目を更に上/下方向にフォーカスを移動させようとすると 末尾/先頭の項目にフォーカスが移動します。 先頭の項目から末尾の項目にフォーカスが移動した場合は、 末尾の項目が実領域の最下部の位置に来るように表示されます。 末尾の項目から先頭の項目にフォーカスが移動した場合は、 先頭の項目が実領域の最上部の位置に来るように表示されます。 なお、スクロールするだけの項目が存在しない場合は、 何も起こりません。 |
この関数は、スクロール移動量を設定します。[単位:ピクセル]
デフォルト値: SFZFlexListBoxControl::DEFAULT_STEP ピクセル
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_STEP の値は SFZFlexListBoxControl::DefaultEnum を参照してください。 |
この関数は、項目を上方向に1項目スクロールする ScrollUp キーを設定します。
デフォルト値: AVK_UP
注意 | |
---|---|
ScrollUp キーが押下された場合、 現在の選択項目よりも1つ上の項目がフレックスリストの新しい選択項目になります。 新しい選択項目が実領域内に完全に表示されていない場合は、 実領域の上端の位置に来るようにスクロールします。 連続スクロールフラグの値が true、かつ、 現在の選択項目が先頭の項目であるときに ScrollUp キーを押下すると、 末尾の項目が新しい選択項目となり、実領域の上端の位置に来るようにスクロールします。 このとき、先頭の項目は上から 2 行目の位置に表示されます(末尾の項目は最上行に表示されます)。 |
SFZFlexListBoxControl::GetScrollUpKey | SFZFlexListBoxControl::SetScrollDownKey | SFZFlexListBoxControl::SetScrollRepeat | SFZFlexListBoxControl::SetPageUpKey | SFZFlexListBoxControl::SetPageDownKey | SFZFlexListBoxControl::SetSnapUpKey | SFZFlexListBoxControl::SetSnapDownKey | SFXEvent | 値イベント [SFEVT_RESPONDER_VALUE] | AVKType
[ public ] Void SetSelectListColor( SFXRGBColorConstRef param // 設定する色 );
この関数は、選択項目の背景色を設定します。
デフォルト値: SFXRGBColor(0x11, 0x22, 0xBB, 0x00) [青色]
奇数番目の非選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetOddListColor 関数の解説を参照してください。 |
偶数番目の非選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetEvenListColor 関数の解説を参照してください。 |
項目の前景色 | |
---|---|
SFZFlexListBoxControl::SetTextColor 関数の解説を参照してください。 |
SFZFlexListBoxControl::GetSelectListColor | SFZFlexListBoxControl::SetEvenListColor | SFZFlexListBoxControl::SetOddListColor | SFZFlexListBoxControl::SetTextColor | SFXRGBColor
この関数は、項目を下端までスクロールする SnapDown キーを設定します。
デフォルト値: AVK_TXEND
注意 | |
---|---|
SnapDown キーがが押下された場合、 末尾の項目がフレックスリストの新しい選択項目になります。 仮想領域≧実領域の場合、新しい選択項目(=末尾の項目)が実領域の下端の位置に来るようにスクロールします。 |
SFZFlexListBoxControl::GetSnapDownKey SFZFlexListBoxControl::SetSnapUpKey | SFZFlexListBoxControl::SetScrollUpKey | SFZFlexListBoxControl::SetScrollDownKey | SFZFlexListBoxControl::SetPageDownKey | SFZFlexListBoxControl::SetPageUpKey | SFXEvent | 値イベント [SFEVT_RESPONDER_VALUE] | AVKType
この関数は、項目を上端までスクロールする SnapUp キーを設定します。
デフォルト値: AVK_TXHOME
注意 | |
---|---|
SnapUp キーがが押下された場合、 先頭の項目がフレックスリストの新しい選択項目になります。 仮想領域≧実領域の場合、新しい選択項目(=先頭の項目)が実領域の上端の位置に来るようにスクロールします。 |
SFZFlexListBoxControl::GetSnapUpKey SFZFlexListBoxControl::SetSnapDownKey | SFZFlexListBoxControl::SetScrollUpKey | SFZFlexListBoxControl::SetScrollDownKey | SFZFlexListBoxControl::SetPageDownKey | SFZFlexListBoxControl::SetPageUpKey | SFXEvent | 値イベント [SFEVT_RESPONDER_VALUE] | AVKType
この関数は、項目の要素間スペースサイズを設定します。[単位:ピクセル]
デフォルト値: SFZFlexListBoxControl::DEFAULT_SPACE ピクセル
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_SPACE の値は SFZFlexListBoxControl::DefaultEnum を参照してください。 |
[ public ] Void SetTextColor( TextEnum textEnum // 文字列定数 SFXRGBColorConstRef param // 文字色 );
この関数は、 指定された文字列定数(SFZFlexListBoxControl::TextEnum) に対応する文字列の色を設定します。
デフォルト値: 非選択項目のヘッダ文字列(TEXT_HEADER_NORMAL): SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色]、 選択項目のヘッダ文字列(TEXT_HEADER_SELECT): SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00)[白色]、 非選択項目のボディ文字列(TEXT_BODY_NORMAL): SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色]、 選択項目のボディ文字列(TEXT_BODY_SELECT): SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00)[白色]
SFZFlexListBoxControl::SetItemEnable 関数を使用して項目の有効フラグが false に設定されているとき、 またはフレックスリストボックスコントロールの状態が非活性状態にあるときは、 この関数で設定された色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色でテキストは描画されます。
色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。
奇数番目の非選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetOddListColor 関数の解説を参照してください。 |
偶数番目の非選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetEvenListColor 関数の解説を参照してください。 |
選択項目の背景色 | |
---|---|
SFZFlexListBoxControl::SetSelectListColor 関数の解説を参照してください。 |
SFZFlexListBoxControl::TextEnum | SFZFlexListBoxControl::GetTextColor | SFZFlexListBoxControl::SetOddListColor | SFZFlexListBoxControl::SetEvenListColor | SFZFlexListBoxControl::SetSelectListColor | SFZFlexListBoxControl::SetItemEnable | SFXRGBColor::GetBrightness | SFXRGBColor | 状態
[ public ] Void SetToggle( Toggle param // トグル状態 (ToggleEnum の論理和) );
以下は、トグル状態を設定するコードです。
SFZFlexListBoxControl listbox;
// ...
listbox->SetToggle(
SFZFlexListBoxControl::TOGGLE_EMPTY_BODY_ICON |
SFZFlexListBoxControl::TOGGLE_MULTIPLE_BODY_TEXT
);
[ public ] Void SetVerticalAlign( VerticalEnum param // 垂直アライメントの値 );
この関数は、垂直アライメントを設定します。
デフォルト値: SFZFlexListBoxControl::DEFAULT_VERTICAL
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_VERTICAL の値は SFZFlexListBoxControl::VerticalEnum を参照してください。 |
この関数は、選択項目のスクロールが開始されるまでの待ちインターバルを設定します 。[単位: ミリ秒]
デフォルト値: SFZFlexListBoxControl::DEFAULT_WAIT ミリ秒
注意 | |
---|---|
SFZFlexListBoxControl::DEFAULT_WAIT の値は SFZFlexListBoxControl::DefaultEnum を参照してください。 |
enum CodeEnum { CODE_TYPE = four_char_code('c', 'f', 'l', 'b') }; SFMTYPEDEFTYPE(CodeEnum)
enum DefaultEnum { DEFAULT_WAIT = 1000, // スクロール開始までの待ち時間(単位:ミリ秒) DEFAULT_SCROLL = 100, // スクロールインターバル(単位:ミリ秒) DEFAULT_STEP = -1, // スクロール移動量(単位:ピクセル)[ −1 の場合は使用しているフォントの半角空白文字(" ")一文字分の横幅になる] DEFAULT_SPACE = 2, // 項目の要素間のスペースサイズ(単位:ピクセル) DEFAULT_BAR_WIDTH = 5 // スクロールバーの幅(単位:ピクセル) };
enum DirectionEnum { DIRECTION_LEFT = 0, // 左へスクロール DIRECTION_RIGHT, // 右へスクロール DEFAULT_DIRECTION = DIRECTION_LEFT // デフォルト値: 左へスクロール }; SFMTYPEDEFTYPE(DirectionEnum)
enum HorizontalEnum { HORIZONTAL_LEFT = 0, // 左詰め HORIZONTAL_CENTER, // 中央揃え HORIZONTAL_RIGHT, // 右詰め DEFAULT_HORIZONTAL = HORIZONTAL_LEFT // デフォルト設定: 左詰め }; SFMTYPEDEFTYPE(HorizontalEnum)
enum IconEnum { ICON_BODY_NORMAL = 0, ICON_BODY_SELECT, ICON_FOOTER_NORMAL, ICON_FOOTER_SELECT, ICON_LIMIT }; SFMTYPEDEFTYPE(IconEnum)
ICON_BODY_NORMAL: 通常時のボディアイコン画像
ICON_BODY_SELECT: 選択時のボディアイコン画像
ICON_FOOTER_NORMAL: 通常時のフッタアイコン画像
ICON_FOOTER_SELECT: 選択時のフッタアイコン画像
// アイテム構造体 SFMTYPEDEFSTRUCT(ItemRec) struct ItemRec { ItemPartRec normal; // 通常時の属性 ItemPartRec select; // 選択時の属性 PropertyRec propery; // プロパティ }; // 項目属性構造体 SFMTYPEDEFSTRUCT(ItemPartRec) struct ItemPartRec { HeaderRec header; // ヘッダ部属性 BodyRec body; // ボディ属性 FooterRec footer; // フッタ属性 }; // ヘッダ部属性構造体 SFMTYPEDEFSTRUCT(HeaderRec) struct HeaderRec { SFXWideString text; // ヘッダ部テキスト }; // ボディ部属性構造体 SFMTYPEDEFSTRUCT(BodyRec) struct BodyRec { SFXWideString text; // ボディ部テキスト SFBImageSmp icon; // ボディ部アイコン画像 }; // フッタ部属性構造体 SFMTYPEDEFSTRUCT(FooterRec) struct FooterRec { SFBImageSmp icon; // フッタ部アイコン画像 }; // プロパティ構造体 SFMTYPEDEFSTRUCT(PropertyRec) struct PropertyRec { UInt32 id; // コマンド ID AVKType key; // アクセスキー Bool enable; // 有効フラグ };
アイテム構造体を利用して、項目を挿入/取得/設定することができます。
SFZFlexListBoxControl::Insert | SFZFlexListBoxControl::InsertFirst | SFZFlexListBoxControl::InsertLast | SFZFlexListBoxControl::GetItem | SFZFlexListBoxControl::SetItem | SFZFlexListBoxControl::SetItemText | SFZFlexListBoxControl::SetItemIconImage | SFZFlexListBoxControl::SetItemAccessKey | SFZFlexListBoxControl::SetItemCommandId | SFZFlexListBoxControl::SetItemEnable
enum SelectEnum { NORMAL = 0, SELECT }; SFMTYPEDEFTYPE(SelectEnum)
NORMAL: 通常時 (非選択時)
SELECT: 選択時
enum TextEnum { TEXT_HEADER_NORMAL = 0, TEXT_HEADER_SELECT, TEXT_BODY_NORMAL, TEXT_BODY_SELECT, TEXT_LIMIT }; SFMTYPEDEFTYPE(TextEnum)
TEXT_HEADER_NORMAL: 非選択項目のヘッダ文字列
TEXT_HEADER_SELECT: 選択項目のヘッダ文字列
TEXT_BODY_NORMAL: 非選択項目のボディ文字列
TEXT_BODY_SELECT: 選択項目のボディ文字列
enum ToggleEnum { TOGGLE_EMPTY_HEADER_TEXT = 1 << 0, TOGGLE_EMPTY_BODY_ICON = 1 << 1, TOGGLE_EMPTY_BODY_TEXT = 1 << 2, TOGGLE_EMPTY_FOOTER_ICON = 1 << 3, TOGGLE_MULTIPLE_BODY_TEXT = 1 << 4, TOGGLE_SWAP_BODY = 1 << 5 }; SFMTYPEDEFTYPE(ToggleEnum)
TOGGLE_EMPTY_HEADER_TEXT: 選択時のヘッダ文字列が空のとき表示しません。(通常時のヘッダ文字列で代用しません)
TOGGLE_EMPTY_BODY_ICON: 選択時のボディアイコン画像が空のとき表示しません。
TOGGLE_EMPTY_BODY_TEXT: 選択時のボディ文字列が空のとき表示しません。
TOGGLE_EMPTY_FOOTER_ICON: 選択時のフッタアイコン画像が空のとき表示しません。
TOGGLE_MULTIPLE_BODY_TEXT: 選択時のボディ文字列表示を複数行表示にします。
TOGGLE_SWAP_BODY: ボディアイコン画像とボディ文字列の配置を入れ替えます。
これらは論理和により同時指定することができます。
デフォルト値: 0
SFZFlexListBoxControlSmp list; // インスタンスの作成等 // ... // トグル状態の設定 (複数の状態を論理和で設定) list->SetToggle( SFZFlexListBoxControl::TOGGLE_EMPTY_HEADER_TEXT | SFZFlexListBoxControl::TOGGLE_EMPTY_FOOTER_ICON | SFZFlexListBoxControl::TOGGLE_MULTIPLE_BODY_TEXT );
実行結果:
enum VerticalEnum { VERTICAL_TOP = 0, // 上詰め VERTICAL_MIDDLE, // 中央揃え VERTICAL_BOTTOM, // 下詰め DEFAULT_VERTICAL = VERTICAL_MIDDLE // デフォルト値: 中央揃え }; SFMTYPEDEFTYPE(VerticalEnum)
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |