SophiaFramework UNIVERSE 5.3 |
#include <SFZMultipleTextBoxControl.h.hpp>
class SFZMultipleTextBoxControl : public SFYBoxControl;
SFMTYPEDEFCLASS(SFZMultipleTextBoxControl)
■ 仕様と使い方
複数行の編集不可能なテキストを表示するボックスコントロール(SFZMultipleTextBoxControl)は、 SFYBoxControl::SetOperateKey 関数で設定する操作キーを押下すると、 結果イベント [SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, SFYControl::GetCurrentValue())] を受信します。
注意 | |
---|---|
この結果イベントは SFZMultipleTextBoxControl::HandleOperateKey 関数内で発生します。 |
行数が多くスクロールして表示する必要がある場合には、 SFZMultipleTextBoxControl::SetScrollDownKey / SFZMultipleTextBoxControl::SetScrollUpKey / SFZMultipleTextBoxControl::SetPageDownKey / SFZMultipleTextBoxControl::SetPageUpKey / SFZMultipleTextBoxControl::SetSnapDownKey / SFZMultipleTextBoxControl::SetSnapUpKey 関数で設定するスクロールキーを押下してスクロールできます。
引数(矩形領域)を指定しないで GetSuitableBound 関数を呼び出すときの注意 | |
---|---|
このレスポンダの SFYResponder::GetSuitableBound 関数を呼び出すときに引数(矩形領域)を指定しない場合は、 予め SFYResponder::SetRealBound 関数を使用して実領域(=ローカル領域※)を設定する必要があります。 設定された実領域の横幅は領域計算に必要なヒント値として利用されます。 通常、実領域の横幅には [ 使用しているフォントの横幅 + ボックス枠の幅 × 3 ](ボックス枠の幅は 3 ピクセル)以上の値を設定します。 ※仮想領域を設定しない限り、 実領域はローカル領域と同じです。また、ヒント値として使われる実領域を設定する際は、 SFYBoxControl::GetBoxMargin 関数で取得できるボックス枠の幅も考慮する必要があります。 |
複数行の編集不可能なテキストを表示するボックスコントロール[SFZMultipleTextBoxControl] | SFYControl | SFYBoxControl | SFYMultipleTextWidget | 実領域 | ローカル領域 | 仮想領域 | 複数行のテキストを表示するレスポンダに最適な大きさを取得する | SFYBoxControl::GetBoxMargin | SFYBoxControl::SetOperateKey | SFZMultipleTextBoxControl::SetScrollDownKey | SFZMultipleTextBoxControl::SetScrollUpKey | SFZMultipleTextBoxControl::SetPageDownKey | SFZMultipleTextBoxControl::SetPageUpKey | SFZMultipleTextBoxControl::SetSnapDownKey | SFZMultipleTextBoxControl::SetSnapUpKey
コンストラクタ/デストラクタ |
---|
SFZMultipleTextBoxControl( Void ) SFZMultipleTextBoxControl クラスのコンストラクタです。
|
~SFZMultipleTextBoxControl( Void ) SFZMultipleTextBoxControl クラスのデストラクタです。
|
パブリック関数 | |
---|---|
AEEFont |
GetFont( Void ) フォントを取得します。
|
HorizontalEnum |
GetHorizontalAlign( Void ) 水平アライメントの値を取得します。
|
AVKType |
GetPageDownKey( Void ) 複数行テキストを下方向に 1 ページ分スクロールする PageDown キーを取得します。
|
AVKType |
GetPageUpKey( Void ) 複数行テキストを上方向に 1 ページ分スクロールする PageUp キーを取得します。
|
AVKType |
GetScrollDownKey( Void ) 複数行テキストを下方向にスクロールステップ分スクロールする ScrollDown キーを取得します。
|
SInt16 |
GetScrollStep( Void ) スクロール移動量を取得します。[単位:ピクセル]
|
AVKType |
GetScrollUpKey( Void ) 複数行テキストを上方向にスクロールステップ分スクロールする ScrollUp キーを取得します。
|
AVKType |
GetSnapDownKey( Void ) 複数行テキストを下端までスクロールする SnapDown キーを取得します。
|
AVKType |
GetSnapUpKey( Void ) 複数行テキストを上端までスクロールする SnapUp キーを取得します。
|
SFXWideStringConstRef |
GetText( Void ) テキストを取得します。
|
SFXRGBColorConstRef |
GetTextColor( Void ) テキストの色を取得します。
|
VerticalEnum |
GetVerticalAlign( Void ) 垂直アライメントの値を取得します。
|
static SFZMultipleTextBoxControlSmp |
NewInstance(
SFCErrorPtr exception = null
) 新しいインスタンスを作成します。
|
Bool |
PageDown( Void ) 複数行テキストを下方向に 1 ページ分スクロールします。
|
Bool |
PageUp( Void ) 複数行テキストを上方向に 1 ページ分スクロールします。
|
Bool |
ScrollDown( Void ) 複数行テキストを下方向にスクロールステップ分スクロールします。
|
Bool |
ScrollUp( Void ) 複数行テキストを上方向にスクロールステップ分スクロールします。
|
Void |
SetFont(
AEEFont param
) フォントを設定します。
|
Void |
SetHorizontalAlign(
HorizontalEnum param
) 水平アライメントを設定します。
|
Void |
SetPageDownKey(
AVKType param
) 複数行テキストを下方向に 1 ページ分スクロールする PageDown キーを設定します。
|
Void |
SetPageUpKey(
AVKType param
) 複数行テキストを上方向に 1 ページ分スクロールする PageUp キーを設定します。
|
Void |
SetScrollDownKey(
AVKType param
) 複数行テキストを下方向にスクロールステップ分スクロールする ScrollDown キーを設定します。
|
Void |
SetScrollStep(
SInt16 param
) スクロール移動量を設定します。[単位:ピクセル]
|
Void |
SetScrollUpKey(
AVKType param
) 複数行テキストを上方向にスクロールステップ分スクロールする ScrollUp キーを設定します。
|
Void |
SetSnapDownKey(
AVKType param
) 複数行テキストを下端までスクロールする SnapDown キーを設定します。
|
Void |
SetSnapUpKey(
AVKType param
) 複数行テキストを上端までスクロールする SnapUp キーを設定します。
|
SFCError |
SetText(
SFXPathConstRef path
, UInt16 id
) テキストを設定します。
|
SFCError |
SetText(
SFXWideStringConstRef param
) テキストを設定します。
|
Void |
SetTextColor(
SFXRGBColorConstRef param
) テキストの色を設定します。
|
Void |
SetVerticalAlign(
VerticalEnum param
) 垂直アライメントを設定します。
|
Bool |
SnapAlign( Void ) 複数行テキストのスクロール位置を初期状態に戻します。
|
Bool |
SnapDown( Void ) 複数行テキストを下端までスクロールします。
|
Bool |
SnapUp( Void ) 複数行テキストを上端までスクロールします。
|
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 から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
|
プロテクト関数 | |
---|---|
SFYMultipleTextWidgetSmpConstRef |
GetWidget( Void ) 複数行テキスト描画用に内部で保持しているテキストウィジェットを取得します。
|
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 |
HandleOperateKey( Void ) 操作キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Bool |
HandlePageDownKey( Void ) PageDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Bool |
HandlePageUpKey( Void ) PageUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Void |
HandleRenderRequest(
SFXGraphicsPtr graphics
) 描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
|
Bool |
HandleScrollDownKey( Void ) ScrollDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Bool |
HandleScrollUpKey( Void ) ScrollUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Bool |
HandleSnapDownKey( Void ) SnapDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
Bool |
HandleSnapUpKey( Void ) SnapUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
|
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 SFZMultipleTextBoxControl クラスを表す定数です。
|
DefaultEnum 各種パラメータのデフォルト値を表します。
|
HorizontalEnum 水平方向のアライメントを表す定数です。
|
VerticalEnum 垂直方向のアライメントを表す定数です。
|
[ protected, explicit ] SFZMultipleTextBoxControl(Void);
このコンストラクタは、以下の初期化処理を行います。
このコンストラクタの内部実装は以下の通りです。
/*protected */SFZMultipleTextBoxControl::SFZMultipleTextBoxControl(Void) static_throws { static SFXEventRange::AtomRecConst trange[] = { #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_FOCUS, SFEVT_RESPONDER_FOCUS, SFP16_FOCUS_FORWARD, SFP16_FOCUS_FORWARD}, { SFEVT_RESPONDER_FOCUS, SFEVT_RESPONDER_FOCUS, SFP16_FOCUS_BACKWARD, SFP16_FOCUS_BACKWARD} }; static SFXEventRange::AtomRecConst crange[] = { { SFEVT_RESPONDER_STYLE, SFEVT_RESPONDER_STYLE, SFP16_BEGIN, SFP16_END} }; SFYHandler::RuleRec trule[lengthof(trange)]; SFYHandler::RuleRec crule[lengthof(crange)]; SFCError error; if (static_try()) { SetType(CODE_TYPE); trule[0].spp = XANDLER_FUNCTION(OnShield); trule[0].reference = this; trule[1].spp = XANDLER_FUNCTION(OnKey); trule[1].reference = this; trule[2].spp = XANDLER_FUNCTION(OnFocusForward); trule[2].reference = this; trule[3].spp = XANDLER_FUNCTION(OnFocusBackward); trule[3].reference = this; static_throw(RegisterHandler(atomic_cast(trange), trule, lengthof(trange))); if (static_try()) { if ((_widget = SFYMultipleTextWidget::NewInstance(&error)) != null) { crule[0].spp = XANDLER_FUNCTION(OnWidgetStyle); crule[0].reference = this; static_throw(_widget->RegisterHandler(atomic_cast(crange), crule, lengthof(crange))); if (static_try()) { static_throw(_widget->SetParent(GetThis())); if (static_try()) { _widget->SetState(true, true, false, false); _key.sup = AVK_UP; _key.sdown = AVK_DOWN; _key.pup = AVK_TXPGUP; _key.pdown = AVK_TXPGDOWN; _key.nup = AVK_TXHOME; _key.ndown = AVK_END; Relocate(); } } } else { static_throw(error); } } } }// SFZMultipleTextBoxControl::SFZMultipleTextBoxControl // /*private */XANDLER_IMPLEMENT_BOOLEVENT(SFZMultipleTextBoxControl, OnShield, invoker, event) { unused(invoker); return (event.GetP16() == _key.sup || event.GetP16() == _key.sdown || event.GetP16() == _key.pup || event.GetP16() == _key.pdown || event.GetP16() == _key.nup || event.GetP16() == _key.ndown); }// XANDLER_IMPLEMENT_BOOLEVENT(SFZMultipleTextBoxControl, OnShield) // /*private */XANDLER_IMPLEMENT_BOOLEVENT(SFZMultipleTextBoxControl, OnKey, invoker, event) { Bool result(false); unused(invoker); if (event.GetP16() == _key.sup) { result = HandleScrollUpKey(); } else if (event.GetP16() == _key.sdown) { result = HandleScrollDownKey(); } else if (event.GetP16() == _key.pup) { result = HandlePageUpKey(); } else if (event.GetP16() == _key.pdown) { result = HandlePageDownKey(); } else if (event.GetP16() == _key.nup) { result = HandleSnapUpKey(); } else if (event.GetP16() == _key.ndown) { result = HandleSnapDownKey(); } return result; }// XANDLER_IMPLEMENT_BOOLEVENT(SFZMultipleTextBoxControl, OnKey) // /*private */XANDLER_IMPLEMENT_VOIDFOCUS(SFZMultipleTextBoxControl, OnFocusForward, invoker, reason, focus) { unused(invoker); unused(reason); if (focus) { _widget->SnapUp(); } return; }// XANDLER_IMPLEMENT_VOIDFOCUS(SFZMultipleTextBoxControl, OnFocusForward) // /*private */XANDLER_IMPLEMENT_VOIDFOCUS(SFZMultipleTextBoxControl, OnFocusBackward, invoker, reason, focus) { unused(invoker); unused(reason); if (focus) { _widget->SnapDown(); } return; }// XANDLER_IMPLEMENT_VOIDFOCUS(SFZMultipleTextBoxControl, OnFocusBackward) // /*private */XANDLER_IMPLEMENT_VOIDSTYLE(SFZMultipleTextBoxControl, OnWidgetStyle, invoker, reason) { unused(invoker); InvokeBackward(SFXEvent(SFEVT_RESPONDER_STYLE, reason, 0), true); return; }// XANDLER_IMPLEMENT_VOIDSTYLE(SFZMultipleTextBoxControl, OnWidgetStyle) // /*private */Void SFZMultipleTextBoxControl::Relocate(Void) { _widget->SetRealBound(GetLocalBound().Deflate(GetBoxMargin())); return; }// SFZMultipleTextBoxControl::Relocate //
SFYResponder::SetType | SFZMultipleTextBoxControl::CodeEnum | SFYResponder::SetParent | SFYResponder::SetState | SFZMultipleTextBoxControl::SetText | SFZMultipleTextBoxControl::SetFont | SFZMultipleTextBoxControl::SetTextColor | SFZMultipleTextBoxControl::SetHorizontalAlign | SFZMultipleTextBoxControl::SetVerticalAlign | SFZMultipleTextBoxControl::SetScrollStep | SFZMultipleTextBoxControl::HorizontalEnum | SFZMultipleTextBoxControl::VerticalEnum | SFZMultipleTextBoxControl::DefaultEnum | SFYMultipleTextWidget::NewInstance | SFYMultipleTextWidget | SFXRGBColor | タイプ | 状態
[ protected, virtual ] virtual ~SFZMultipleTextBoxControl(Void);
このデストラクタは、何も行いません。
このデストラクタの内部実装は以下の通りです。
/*protected virtual */SFZMultipleTextBoxControl::~SFZMultipleTextBoxControl(Void) { }// SFZMultipleTextBoxControl::~SFZMultipleTextBoxControl //
[ public, const ] AEEFont GetFont(Void);
フォント。
この関数は、フォントを取得します。
[ public, const ] HorizontalEnum GetHorizontalAlign(Void);
水平アライメントの値。
この関数は、水平アライメントの値を取得します。
[ public, const ] AVKType GetPageDownKey(Void);
複数行テキストを下方向に 1 ページ分スクロールする PageDown キー。
この関数は、複数行テキストを下方向に 1 ページ分スクロールする PageDown キーを取得します。
[ public, const ] AVKType GetPageUpKey(Void);
複数行テキストを上方向に 1 ページ分スクロールする PageUp キー。
この関数は、複数行テキストを上方向に 1 ページ分スクロールする PageUp キーを取得します。
[ public, const ] AVKType GetScrollDownKey(Void);
複数行テキストを下方向にスクロールステップ分スクロールする ScrollDown キー。
この関数は、複数行テキストを下方向にスクロールステップ分スクロールする ScrollDown キーを取得します。
[ public, const ] SInt16 GetScrollStep(Void);
スクロール移動量。[単位:ピクセル]
この関数は、スクロール移動量を取得します。[単位:ピクセル]
[ public, const ] AVKType GetScrollUpKey(Void);
複数行テキストを上方向にスクロールステップ分スクロールする ScrollUp キー。
この関数は、複数行テキストを上方向にスクロールステップ分スクロールする ScrollUp キーを取得します。
[ public, const ] AVKType GetSnapDownKey(Void);
複数行テキストを下端までスクロールする SnapDown キー。
この関数は、複数行テキストを下端までスクロールする SnapDown キーを取得します。
[ public, const ] AVKType GetSnapUpKey(Void);
複数行テキストを上端までスクロールする SnapUp キー。
この関数は、複数行テキストを上端までスクロールする SnapUp キーを取得します。
[ public, const ] SFXWideStringConstRef GetText(Void);
テキスト。
この関数は、テキストを取得します。
[ public, const ] SFXRGBColorConstRef GetTextColor(Void);
テキストの色。
この関数は、テキストの色を取得します。
[ public, const ] VerticalEnum GetVerticalAlign(Void);
垂直アライメントの値。
この関数は、垂直アライメントの値を取得します。
[ protected, const ] SFYMultipleTextWidgetSmpConstRef GetWidget(Void);
複数行テキスト描画用に子レスポンダとして内部で保持する SFYMultipleTextWidget インスタンス。
この関数は、 複数行テキスト描画用に子レスポンダとして内部で保持する SFYMultipleTextWidget インスタンスを返します。
複数行テキストの描画は、SFYMultipleTextWidget インスタンスに委譲して処理します。
[ protected, virtual, const ] Void HandleBoundOptimize( SFXRectanglePtr rectangle // 矩形 );
この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE, rectangle)] を受信したときに呼び出されます。
引数 rectangle で指定した矩形領域に収まる範囲内で、レスポンダの最適な領域を計算します。
計算結果のレスポンダに最適なサイズは、rectangle 引数の size 要素(サイズ)に格納されます。 なお、領域イベントの P32 パラメータとして渡された rectangle 引数の origin 要素(始点)はこの関数内で変更しないことを推奨します。
デフォルトの実装は以下の通りです。
領域イベント[(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 仮想関数をオーバーライドして処理を記述します。 |
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Void SFZMultipleTextBoxControl::HandleBoundOptimize(SFXRectanglePtr rectangle) const { rectangle->Deflate(GetFocusMargin()); rectangle->SetSize(_widget->GetSuitableBound(*rectangle).GetSize()); rectangle->Inflate(GetFocusMargin()); return; }// SFZMultipleTextBoxControl::HandleBoundOptimize //
SFYResponder::GetSuitableBound | SFYBoxControl::GetBoxMargin | SFZMultipleTextBoxControl::SetText | SFZMultipleTextBoxControl::SetFont | SFYMultipleTextWidget::HandleBoundOptimize | SFYMultipleTextWidget | SFXEvent | 領域イベント[SFEVT_RESPONDER_BOUND]
[ protected, virtual, const ] Void HandleBoundRequest( SFXRectanglePtr rectangle // 計算された座標 );
この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST, rectangle)] を受信したときに呼び出されます。
レスポンダの最適な領域を計算します。
計算結果のレスポンダに最適なサイズは、rectangle 引数の size 要素(サイズ)に格納されます。 なお、領域イベントの P32 パラメータとして渡された rectangle 引数の origin 要素(始点)はこの関数内で変更しないことを推奨します。
デフォルトの実装は以下の通りです。
前提条件 | |
---|---|
予め SFYResponder::SetRealBound 関数を使用して実領域(=ローカル領域※)を設定する必要があります。 設定された実領域の横幅は領域計算に必要なヒント値として利用されます。 通常、実領域の横幅には [ 使用しているフォントの横幅 + ボックス枠の幅 × 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 仮想関数をオーバーライドして処理を記述します。 |
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Void SFZMultipleTextBoxControl::HandleBoundRequest(SFXRectanglePtr rectangle) const { rectangle->Deflate(GetFocusMargin()); rectangle->SetSize(_widget->GetSuitableBound().GetSize()); rectangle->Inflate(GetFocusMargin()); return; }// SFZMultipleTextBoxControl::HandleBoundRequest //
SFYResponder::GetSuitableBound | SFYBoxControl::GetBoxMargin | SFZMultipleTextBoxControl::SetText | SFZMultipleTextBoxControl::SetFont | SFYMultipleTextWidget::HandleBoundRequest | SFYBoxControl::GetBoxMargin | SFYMultipleTextWidget | SFXEvent | 領域イベント[SFEVT_RESPONDER_BOUND] | 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND] | 実領域 | ローカル領域 | 仮想領域 | 複数行のテキストを表示するレスポンダに最適な大きさを取得する
[ protected, virtual ] Void HandleBoundVirtual(Void);
この関数は、領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] を受信したときに呼び出されます。
仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は、 ボックスコントロールのコンテンツ領域を内部で保持するテキストウィジェット(SFYMultipleTextWidget)の実領域として設定します。
SFZMultipleTextBoxControl::SetText 関数によって設定されたテキストは、 内部でテキストウィジェット(SFYMultipleTextWidget)として保持されます。
領域イベント[(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]を定義・実装し レスポンダに登録して行うことも可能です。 仮想領域の変更処理は、最初に SFYWidget::HandleBoundVirtual 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。 領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドして処理を記述します。 |
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Void SFZMultipleTextBoxControl::HandleBoundVirtual(Void) { Relocate(); return; }// SFZMultipleTextBoxControl::HandleBoundVirtual // /*private */Void SFZMultipleTextBoxControl::Relocate(Void) { _widget->SetRealBound(GetLocalBound().Deflate(GetBoxMargin())); return; }// SFZMultipleTextBoxControl::Relocate //
SFZMultipleTextBoxControl::SetText | SFYResponder::SetRealBound | SFYResponder::SetVirtualBound | SFYMultipleTextWidget | SFXEvent | 領域イベント[SFEVT_RESPONDER_BOUND]
[ protected, virtual ] Void HandleOperateKey(Void);
この関数は、SFYBoxControl::SetOperateKey 関数で設定した操作キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装では、テキストのスクロール位置を初期化し、 自分自身に結果イベント [SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, SFYControl::GetCurrentValue())] を送信します。
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Void SFZMultipleTextBoxControl::HandleOperateKey(Void) { _widget->SnapAlign(); InvokeForward(SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, GetCurrentValue()), false); return; }// SFZMultipleTextBoxControl::HandleOperateKey //
SFYBoxControl::SetOperateKey | SFYControl::GetCurrentValue | SFYMultipleTextWidget | SFXEvent | キーイベント[SFEVT_KEY] | 結果イベント [SFEVT_RESPONDER_RESULT]
[ protected, virtual ] Bool HandlePageDownKey(Void);
この関数は、SFZMultipleTextBoxControl::SetPageDownKey 関数で設定した PageDown キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装では、SFZMultipleTextBoxControl::PageDown 関数を呼び出して、複数行テキストを下方向に 1 ページスクロールします。
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Bool SFZMultipleTextBoxControl::HandlePageDownKey(Void) { return _widget->PageDown(); }// SFZMultipleTextBoxControl::HandlePageDownKey //
SFZMultipleTextBoxControl::SetPageDownKey | SFZMultipleTextBoxControl::PageDown | SFYMultipleTextWidget | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual ] Bool HandlePageUpKey(Void);
この関数は、SFZMultipleTextBoxControl::SetPageUpKey 関数で設定した PageUp キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装では、SFZMultipleTextBoxControl::PageUp 関数を呼び出して、複数行テキストを上方向に 1 ページスクロールします。
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Bool SFZMultipleTextBoxControl::HandlePageUpKey(Void) { return _widget->PageUp(); }// SFZMultipleTextBoxControl::HandlePageUpKey //
SFZMultipleTextBoxControl::SetPageUpKey | SFZMultipleTextBoxControl::PageUp | SFYMultipleTextWidget | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual, const ] Void HandleRenderRequest( SFXGraphicsPtr graphics // グラフィックスオブジェクト );
この関数は、 描画イベント [SFXEvent(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST, graphics)] を受信したときに呼び出されます。
独自の描画処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
レスポンダの描画手順 | |||||
---|---|---|---|---|---|
|
この関数の内部実装は以下の通りです。
/*protected virtual */Void SFZMultipleTextBoxControl::HandleRenderRequest(SFXGraphicsPtr graphics) const { DrawBox(graphics, GetLocalBound()); return; }// SFZMultipleTextBoxControl::HandleRenderRequest //
SFYBoxControl::DrawBox | SFZMultipleTextBoxControl::SetText | SFZMultipleTextBoxControl::SetHorizontalAlign | SFZMultipleTextBoxControl::SetVerticalAlign | SFZMultipleTextBoxControl::SetFont | SFZMultipleTextBoxControl::SetTextColor | SFYMultipleTextWidget::HandleRenderRequest | SFYResponder::Invalidate | SFYResponder::Render | SFYResponder::InvokeBackward | SFYMultipleTextWidget | SFXEvent | 描画イベント[SFEVT_RESPONDER_RENDER] | 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER] | 描画処理
[ protected, virtual ] Bool HandleScrollDownKey(Void);
この関数は、SFZMultipleTextBoxControl::SetScrollDownKey 関数で設定した ScrollDown キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装では、SFZMultipleTextBoxControl::ScrollDown 関数を呼び出して、複数行テキストを下方向にスクロールステップ分スクロールします。
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Bool SFZMultipleTextBoxControl::HandleScrollDownKey(Void) { return _widget->ScrollDown(); }// SFZMultipleTextBoxControl::HandleScrollDownKey //
SFZMultipleTextBoxControl::SetScrollDownKey | SFZMultipleTextBoxControl::ScrollDown | SFYMultipleTextWidget | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual ] Bool HandleScrollUpKey(Void);
この関数は、SFZMultipleTextBoxControl::SetScrollUpKey 関数で設定した ScrollUp キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装では、SFZMultipleTextBoxControl::ScrollUp 関数を呼び出して、複数行テキストを上方向にスクロールします。
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Bool SFZMultipleTextBoxControl::HandleScrollUpKey(Void) { return _widget->ScrollUp(); }// SFZMultipleTextBoxControl::HandleScrollUpKey //
SFZMultipleTextBoxControl::SetScrollUpKey | SFZMultipleTextBoxControl::ScrollUp | SFYMultipleTextWidget | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual ] Bool HandleSnapDownKey(Void);
この関数は、SFZMultipleTextBoxControl::SetSnapDownKey 関数で設定した SnapDown キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装では、SFZMultipleTextBoxControl::SnapDown 関数を呼び出して、複数行テキストを下端までスクロールします。
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Bool SFZMultipleTextBoxControl::HandleSnapDownKey(Void) { return _widget->SnapDown(); }// SFZMultipleTextBoxControl::HandleSnapDownKey //
SFZMultipleTextBoxControl::SetSnapDownKey | SFZMultipleTextBoxControl::SnapDown | SFYMultipleTextWidget | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual ] Bool HandleSnapUpKey(Void);
この関数は、SFZMultipleTextBoxControl::SetSnapUpKey 関数で設定した SnapUp キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装では、SFZMultipleTextBoxControl::SnapUp 関数を呼び出して、複数行テキストを上端までスクロールします。
この関数の内部実装は以下の通りです。
SFYMultipleTextWidgetSmp _widget; /*protected virtual */Bool SFZMultipleTextBoxControl::HandleSnapUpKey(Void) { return _widget->SnapUp(); }// SFZMultipleTextBoxControl::HandleSnapUpKey //
SFZMultipleTextBoxControl::SetSnapUpKey | SFZMultipleTextBoxControl::SnapUp | SFYMultipleTextWidget | SFXEvent | キーイベント[SFEVT_KEY]
[ public, static ] SFZMultipleTextBoxControlSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
関数内部で発生したエラー値を返します。
この関数は、SFZMultipleTextBoxControl クラスの新しいインスタンスを作成します。
インスタンスの作成に成功した場合は null 以外のポインタを返します。 失敗した場合は、null ポインタを返します。
exception 引数を指定した場合、 この引数にはエラー値が返ります。
以下は、複数行テキストボックスのインスタンスを生成するためのコードです。
// 複数行テキストボックスのインスタンスを生成する SFZMultipleTextBoxControlSmp _multipletextbox; SFCError error; if ((_multipletextbox = SFZMultipleTextBoxControl::NewInstance(&error)) != null) { // ... }
[ public ] Bool PageDown(Void);
この関数は、複数行テキストを下方向に 1 ページ分スクロールします。
[ public ] Bool PageUp(Void);
この関数は、複数行テキストを上方向に 1 ページ分スクロールします。
[ public ] Bool ScrollDown(Void);
この関数は、複数行テキストを下方向にスクロールステップ分スクロールします
SFZMultipleTextBoxControl::SetScrollStep | SFZMultipleTextBoxControl::ScrollUp | SFYMultipleTextWidget::ScrollDown
[ public ] Bool ScrollUp(Void);
この関数は、複数行テキストを上方向にスクロールステップ分スクロールします。
SFZMultipleTextBoxControl::SetScrollStep | SFZMultipleTextBoxControl::ScrollDown | SFYMultipleTextWidget::ScrollUp
この関数は、フォントを設定します。
デフォルト値: AEE_FONT_NORMAL
[ public ] Void SetHorizontalAlign( HorizontalEnum param // 設定する値 );
この関数は、水平アライメントを設定します。
デフォルト値: SFYMultipleTextWidget::DEFAULT_HORIZONTAL
SFYMultipleTextWidget::DEFAULT_HORIZONTAL の値は SFYMultipleTextWidget::HorizontalEnum を参照してください。
SFZMultipleTextBoxControl::GetHorizontalAlign | SFZMultipleTextBoxControl::HorizontalEnum | SFYMultipleTextWidget::HorizontalEnum
この関数は、複数行テキストを下方向に 1 ページ分スクロールする PageDown キーを設定します。
デフォルト値: AVK_TXPGDOWN
この関数は、 複数行テキストを上方向に 1 ページ分スクロールする PageUp キーを設定します。
デフォルト値: AVK_TXPGUP
この関数は、 複数行テキストを下方向にスクロールステップ分スクロールする ScrollDown キーを設定します。
デフォルト値: AVK_DOWN
この関数は、1 回のスクロールで移動するピクセル数を設定します。
−1(デフォルト値)を設定すると、使用しているフォントの高さがスクロール移動量となります。
デフォルト値: SFYMultipleTextWidget::DEFAULT_STEP [単位:ピクセル]
SFYMultipleTextWidget::DEFAULT_STEP の値は SFYMultipleTextWidget::DefaultEnum を参照してください。
SFZMultipleTextBoxControl::GetScrollStep | SFZMultipleTextBoxControl::DefaultEnum | SFYMultipleTextWidget::DefaultEnum
この関数は、 複数行テキストを上方向にスクロールステップ分スクロールする ScrollUp キーを設定します。
デフォルト値: AVK_UP
この関数は、 複数行テキストを下端までスクロールする SnapDown キーを設定します。
デフォルト値: AVK_TXEND
この関数は、 複数行テキストを上端までスクロールする SnapUp キーを設定します。
デフォルト値: AVK_TXHOME
[ public ] SFCError SetText( SFXPathConstRef path // リソースファイルパス UInt16 id // リソース ID );
[ public ] SFCError SetText( SFXWideStringConstRef param // 文字列 );
この関数は、テキストを設定します。
テキストを直接、あるいは、リソースファイルから読み込むように指定します。
デフォルト値: ""[空文字列]
SFZMultipleTextBoxControl::GetText SFZMultipleTextBoxControl::SetHorizontalAlign | SFZMultipleTextBoxControl::SetVerticalAlign SFZMultipleTextBoxControl::SetTextColor | SFZMultipleTextBoxControl::SetFont | BREW API AEEFont
[ public ] Void SetTextColor( SFXRGBColorConstRef param // 設定する値 );
この関数は、テキストの色を設定します。
デフォルト値: SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色]
非活性状態にあるときは、この関数で設定された色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色でテキストは描画されます。
色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。
[ public ] Void SetVerticalAlign( VerticalEnum param // 設定する値 );
この関数は、垂直アライメントを設定します。
デフォルト値: SFYMultipleTextWidget::DEFAULT_VERTICAL
SFYMultipleTextWidget::DEFAULT_VERTICAL の値は SFYMultipleTextWidget::VerticalEnum を参照してください。
SFZMultipleTextBoxControl::GetVerticalAlign | SFZMultipleTextBoxControl::VerticalEnum | SFYMultipleTextWidget::VerticalEnum
[ public ] Bool SnapAlign(Void);
この関数は、 スクロール位置を SFZMultipleTextBoxControl::SetVerticalAlign 関数で設定した初期状態に戻します。
たとえば、上端に設定していた場合、SnapAlign 関数を呼び出すと、スクロール位置は上端に戻ります。 また、下端あるいは中央に設定していた場合、SnapAlign 関数を呼び出すと、スクロール位置はそれぞれ下端あるいは中央に戻ります。
[ public ] Bool SnapDown(Void);
この関数は、複数行テキストを下端までスクロールします。
[ public ] Bool SnapUp(Void);
この関数は、複数行テキストを上端までスクロールします。
enum CodeEnum { CODE_TYPE = four_char_code('c', 'm', 't', 'b') }; SFMTYPEDEFTYPE(CodeEnum)
enum DefaultEnum { DEFAULT_STEP = SFYMultipleTextWidget::DEFAULT_STEP // スクロール移動量(単位:ピクセル) }; SFMTYPEDEFTYPE(DefaultEnum)
enum HorizontalEnum { HORIZONTAL_LEFT = SFYMultipleTextWidget::HORIZONTAL_LEFT, // 左詰め HORIZONTAL_CENTER = SFYMultipleTextWidget::HORIZONTAL_CENTER, // 中央揃え HORIZONTAL_RIGHT = SFYMultipleTextWidget::HORIZONTAL_RIGHT, // 右詰め DEFAULT_HORIZONTAL = SFYMultipleTextWidget::DEFAULT_HORIZONTAL // デフォルト設定: 中央揃え }; SFMTYPEDEFTYPE(HorizontalEnum)
enum VerticalEnum { VERTICAL_TOP = SFYMultipleTextWidget::VERTICAL_TOP, // 上詰め VERTICAL_MIDDLE = SFYMultipleTextWidget::VERTICAL_MIDDLE, // 中央揃え VERTICAL_BOTTOM = SFYMultipleTextWidget::VERTICAL_BOTTOM, // 下詰め DEFAULT_VERTICAL = SFYMultipleTextWidget::DEFAULT_VERTICAL // デフォルト値: 中央揃え }; SFMTYPEDEFTYPE(VerticalEnum)
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |