![]() ![]() ![]()
|
SophiaFramework UNIVERSE 5.0 |
#include <SFZTextButtonControl.h.hpp>
class SFZTextButtonControl : public SFYButtonControl;
SFMTYPEDEFRESPONDER(SFZTextButtonControl)


SFZTextButtonControl は、ボタン操作時にイベントを受信できるクラスです。
文字数が多くスクロールして表示する必要がある場合には、フォーカスされているときに自動的にスクロールを開始します。
| コンストラクタ/デストラクタ |
|---|
|
SFZTextButtonControl( Void ) SFZTextButtonControl クラスのコンストラクタです。
|
|
~SFZTextButtonControl( Void ) SFZTextButtonControl クラスのデストラクタです。
|
| パブリック関数 | |
|---|---|
| AEEFont |
GetFont( Void ) フォントを取得します。
|
| HorizontalEnum |
GetHorizontalAlign( Void ) 水平アラインメントの値を取得します。
|
| DirectionEnum |
GetScrollDirection( Void ) スクロールの移動方向を取得します。
|
| UInt32 |
GetScrollInterval( Void ) スクロールの移動時間を取得します。
|
| SInt16 |
GetScrollStep( Void ) スクロールの移動量を取得します。
|
| SFXWideStringConstRef |
GetText( Void ) テキストを取得します。
|
| SFXRGBColorConstRef |
GetTextColor( Void ) テキストの色を取得します。
|
| VerticalEnum |
GetVerticalAlign( Void ) 垂直アラインメントの値を取得します。
|
| UInt32 |
GetWaitInterval( Void ) スクロール開始までの待ち時間を取得します。
|
| static SFZTextButtonControlSmp |
NewInstance(
SFCErrorPtr exception = null
) 新しいインスタンスを作成します。
|
| Void |
SetFont(
AEEFont param
) フォントを設定します。
|
| Void |
SetHorizontalAlign(
HorizontalEnum param
) 水平アラインメントを設定します。
|
| Void |
SetScrollDirection(
DirectionEnum param
) スクロールの移動方向を設定します。
|
| Void |
SetScrollInterval(
UInt32 param
) スクロールの移動時間を設定します。
|
| Void |
SetScrollStep(
SInt16 param
) スクロールの移動量を設定します。
|
| SFCError |
SetText(
SFXPathConstRef path
, UInt16 id
) SetText( SFXWideStringConstRef param ) テキストを設定します。
|
| Void |
SetTextColor(
SFXRGBColorConstRef param
) テキストの色を設定します。
|
| Void |
SetVerticalAlign(
VerticalEnum param
) 垂直アラインメントを設定します。
|
| Void |
SetWaitInterval(
UInt32 param
) スクロール開始までの待ち時間を設定します。
|
| Void |
StartScroll( Void ) テキストのスクロールを開始します。
|
| Void |
StopScroll( Void ) テキストのスクロールを停止します。
|
| Void |
ClearHandler( Void )
(SFYResponder から継承)
ハンドラの登録をすべて解除します。
|
| Void |
ClearTracer( Void )
(SFYResponder から継承)
トレーサの登録をすべて解除します。
|
| SFCError |
Distribute(
SFXEventConstRef event
, BoolPtr result = null
)
(SFYResponder から継承)
配信エンジンを起動してイベントを配信します。
|
| SFXRGBColorConstRef |
GetBackgroundColor( Void )
(SFYWidget から継承)
背景の色を取得します。
|
| SFXBevelColorConstRef |
GetButtonColor( Void )
(SFYButtonControl から継承)
フォーカス以外の状態にあるときのボタンコントロールを描画するベベルカラーを取得します。
|
| SFYResponderSmp |
GetChildBack( Void )
(SFYResponder から継承)
GetChildBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) GetChildBack( UInt32 id ) (SFYResponder から継承) GetChildBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 最背面に位置する子レスポンダを取得します。
|
| SFYResponderSmp |
GetChildBackward(
SInt32 index
)
(SFYResponder から継承)
GetChildBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) GetChildBackward( SInt32 index , UInt32 id ) (SFYResponder から継承) GetChildBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 背面から数えて指定された順番に位置する子レスポンダを取得します。
|
| SInt32 |
GetChildCount( Void )
(SFYResponder から継承)
GetChildCount( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) GetChildCount( UInt32 id ) (SFYResponder から継承) GetChildCount( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 子レスポンダの数を取得します。
|
| SFYResponderSmp |
GetChildForward(
SInt32 index
)
(SFYResponder から継承)
GetChildForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) GetChildForward( SInt32 index , UInt32 id ) (SFYResponder から継承) GetChildForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 前面から数えて指定された順番に位置する子レスポンダを取得します。
|
| SFYResponderSmp |
GetChildFront( Void )
(SFYResponder から継承)
GetChildFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) GetChildFront( UInt32 id ) (SFYResponder から継承) GetChildFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 最前面に位置する子レスポンダを取得します。
|
| SInt32 |
GetCurrentValue( Void )
(SFYControl から継承)
コントロールの現在値を取得します。
|
| SFYDistributerPtr |
GetDistributer( Void )
(SFYResponder から継承)
配信エンジンを取得します。
|
| SFXBevelColorConstRef |
GetFocusColor( Void )
(SFYButtonControl から継承)
フォーカス状態にあるときのボタンコントロールを描画するベベルカラーを取得します。
|
| 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 から継承)
GetNthBackward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) GetNthBackward( UInt32 id ) (SFYResponder から継承) GetNthBackward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダが背面から数えて何番目に位置するかを取得します。
|
| SInt32 |
GetNthForward( Void )
(SFYResponder から継承)
GetNthForward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) GetNthForward( UInt32 id ) (SFYResponder から継承) GetNthForward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダが前面から数えて何番目に位置するかを取得します。
|
| AVKType |
GetOperateKey( Void )
(SFYButtonControl から継承)
ボタンの操作キーを取得します。
|
| SFYResponderSmp |
GetParent( Void )
(SFYResponder から継承)
親レスポンダを取得します。
|
| Bool |
GetPropertyTransparent( Void )
(SFYResponder から継承)
透過属性を取得します。
|
| SFXRectangleConstRef |
GetRealBound( Void )
(SFYResponder から継承)
実領域を取得します。
|
| VoidPtr |
GetReference( Void )
(SFYResponder から継承)
リファレンス値を取得します。
|
| SFYRendererPtr |
GetRenderer( Void )
(SFYResponder から継承)
描画エンジンを取得します。
|
| SFYResponderSmp |
GetRoot( Void )
(SFYResponder から継承)
ルートレスポンダを取得します。
|
| SFXRGBColorConstRef |
GetShadowColor( Void )
(SFYButtonControl から継承)
影の色を取得します。
|
| Bool |
GetStateActive(
Bool inherit = false
)
(SFYResponder から継承)
活性状態を取得します。
|
| Bool |
GetStateEnable(
Bool inherit = false
)
(SFYResponder から継承)
操作可能状態を取得します。
|
| Bool |
GetStateFocus(
Bool inherit = false
)
(SFYResponder から継承)
フォーカス状態を取得します。
|
| Bool |
GetStatePress( Void )
(SFYButtonControl から継承)
ボタンの押下状態を取得します。
|
| Bool |
GetStateVisible(
Bool inherit = false
)
(SFYResponder から継承)
可視状態を取得します。
|
| SFXRectangle |
GetSuitableBound( Void )
(SFYResponder から継承)
GetSuitableBound( SFXRectangleConstRef param ) (SFYResponder から継承) 最適な大きさを取得します。
|
| SFXMargin |
GetSuitableMargin( Void )
(SFYResponder から継承)
最適な余白を取得します。
|
| SFCType |
GetType( Void )
(SFYResponder から継承)
タイプを取得します。
|
| SFXRectangleConstRef |
GetVirtualBound( Void )
(SFYResponder から継承)
仮想領域を取得します。
|
| Void |
Initialize( Void )
(SFYResponder から継承)
レスポンダを初期化します。
|
| Void |
Invalidate( Void )
(SFYResponder から継承)
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 から継承)
IsBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) IsBack( UInt32 id ) (SFYResponder から継承) IsBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダが最背面に位置するかどうかを判定します。
|
| Bool |
IsFront( Void )
(SFYResponder から継承)
IsFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) IsFront( UInt32 id ) (SFYResponder から継承) IsFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダが最前面に位置するかどうかを判定します。
|
| Bool |
IsNthBackward(
SInt32 index
)
(SFYResponder から継承)
IsNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) IsNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承) IsNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
|
| Bool |
IsNthForward(
SInt32 index
)
(SFYResponder から継承)
IsNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) IsNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承) IsNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
|
| Bool |
IsRoot( Void )
(SFYResponder から継承)
自レスポンダがルートレスポンダかどうかを判定します。
|
| SFCError |
RegisterHandler(
SFXEventRangeConstRef range
, SFYHandler::RuleRecConstRef rule
)
(SFYResponder から継承)
RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承) RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承) RegisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承) ハンドラを登録します。
|
| SFCError |
RegisterTracer(
SFXEventRangeConstRef range
, SFYTracer::RuleRecConstRef rule
)
(SFYResponder から継承)
RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::OrderEnumConstPtr order , SFYTracer::StateEnumConstPtr state , BoolConstPtr overload , SInt32 length ) (SFYResponder から継承) RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承) RegisterTracer( SFXEventRangeConstRef range , SFYTracer::OrderEnum order , SFYTracer::StateEnum state , Bool overload ) (SFYResponder から継承) トレーサを登録します。
|
| SFCError |
Render(
Bool force = false
)
(SFYResponder から継承)
描画エンジンを起動して再描画します。
|
| Void |
SetBackgroundColor(
SFXRGBColorConstRef param
)
(SFYWidget から継承)
背景の色を設定します。
|
| Void |
SetButtonColor(
SFXBevelColorConstRef param
)
(SFYButtonControl から継承)
フォーカス以外の状態にあるときのボタンコントロールを描画するベベルカラーを設定します。
|
| Void |
SetCurrentValue(
SInt32 param
)
(SFYControl から継承)
コントロールの現在値を設定します。
|
| Void |
SetDistributer(
SFYDistributerPtr param
)
(SFYResponder から継承)
配信エンジンを設定します。
|
| Void |
SetFocusColor(
SFXBevelColorConstRef param
)
(SFYButtonControl から継承)
フォーカス状態にあるときのボタンコントロールを描画するベベルカラーを設定します。
|
| Void |
SetID(
UInt32 param
)
(SFYResponder から継承)
ID を設定します。
|
| Void |
SetMaximumValue(
SInt32 param
)
(SFYControl から継承)
コントロールの最大値を設定します。
|
| Void |
SetMinimumValue(
SInt32 param
)
(SFYControl から継承)
コントロールの最小値を設定します。
|
| Void |
SetOperateKey(
AVKType param
)
(SFYButtonControl から継承)
ボタンの操作キーを設定します。
|
| 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 |
SetShadowColor(
SFXRGBColorConstRef param
)
(SFYButtonControl から継承)
影の色を設定します。
|
| 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 |
SetStatePress(
Bool param
)
(SFYButtonControl から継承)
ボタンの押下状態を設定します。
|
| Void |
SetStateVisible(
Bool param
)
(SFYResponder から継承)
可視状態を設定します。
|
| Void |
SetVirtualBound(
SFXRectangleConstRef param
)
(SFYResponder から継承)
仮想領域を設定します。
|
| Void |
Terminate( Void )
(SFYResponder から継承)
レスポンダの終了処理をします。
|
| Void |
ToBack( Void )
(SFYResponder から継承)
ToBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) ToBack( UInt32 id ) (SFYResponder から継承) ToBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダを姉妹レスポンダのなかで最背面に移動します。
|
| Void |
ToFront( Void )
(SFYResponder から継承)
ToFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) ToFront( UInt32 id ) (SFYResponder から継承) ToFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダを姉妹レスポンダのなかで最前面に移動します。
|
| Void |
ToNthBackward(
SInt32 index
)
(SFYResponder から継承)
ToNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) ToNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承) ToNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダを背面から数えて指定された順番に移動します。
|
| Void |
ToNthForward(
SInt32 index
)
(SFYResponder から継承)
ToNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) ToNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承) ToNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承) 自レスポンダを前面から数えて指定された順番に移動します。
|
| Void |
UnregisterHandler(
SFXEventRangeConstRef range
, SFYHandler::RuleRecConstRef rule
)
(SFYResponder から継承)
UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承) UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承) UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承) ハンドラの登録を解除します。
|
| Void |
UnregisterTracer(
SFXEventRangeConstRef range
)
(SFYResponder から継承)
UnregisterTracer( SFXEventRangeConstPtr range , SInt32 length ) (SFYResponder から継承) トレーサの登録を解除します。
|
| T const & |
static_catch(
Void
)
(static_exception から継承)
現在保持している例外を取得します。
|
| プロテクト関数 | |
|---|---|
| SFYSingleTextWidgetSmpConstRef |
GetWidget( Void ) ウィジェットを取得します。
|
| Void |
HandleBoundOptimize(
SFXRectanglePtr rectangle
) 指定した矩形に収まる範囲内で最適なサイズを計算します。
|
| Void |
HandleBoundRequest(
SFXRectanglePtr rectangle
) 最適な矩形を計算します。
|
| Void |
HandleBoundVirtual( Void ) 仮想領域の変更処理を行います。
|
| Void |
HandleOperateKey( Void ) キーイベントを処理します。
|
| Void |
HandleRenderRequest(
SFXGraphicsPtr graphics
) レスポンダを描画します。
|
| Void |
DrawButton(
SFXGraphicsPtr graphics
, SFXRectangleConstRef rectangle
)
(SFYButtonControl から継承)
ボタンを描画します。
|
| SFXRectangle |
DrawShadow(
SFXGraphicsPtr graphics
, SFXRectangleConstRef rectangle
)
(SFYButtonControl から継承)
影を描画します。
|
| static SFYResponderSmp |
Factory(
SFYResponderPtr responder
, SFCErrorPtr exception = null
)
(SFYResponder から継承)
NewInstance 関数の実装を補助します。
|
| static SFXMarginConstRef |
GetButtonMargin( Void )
(SFYButtonControl から継承)
ボタンコントロールのマージンを取得します。
|
| static SFXGridConstRef |
GetPressOffset( Void )
(SFYButtonControl から継承)
プレス オフセットを取得します。
|
| static SFXMarginConstRef |
GetShadowMargin( Void )
(SFYButtonControl から継承)
ボタンコントロールの影部分のマージンを取得します。
|
| SFYResponderSmp |
GetThis( Void )
(SFYResponder から継承)
スマートポインタで保持された this を取得します。
|
| Void |
HandleBoundGlobal(
SFXRectangleConstRef rectangle
)
(SFYWidget から継承)
グローバル領域の変更処理を行います。
|
| Void |
HandleBoundReal( Void )
(SFYControl から継承)
実領域の変更処理を行います。
|
| Void |
HandleOperateKeyPress( Void )
(SFYButtonControl から継承)
キー押下イベントを処理します。
|
| Void |
HandleOperateKeyRelease( Void )
(SFYButtonControl から継承)
キー解放イベントを処理します。
|
| Void |
SetType(
SFCType param
)
(SFYResponder から継承)
タイプを設定します。
|
| Void |
static_throw(
static_exception< T > const & param
)
(static_exception から継承)
static_throw( T const & param ) (static_exception から継承) 例外を設定します。
|
| Bool |
static_try(
Void
)
(static_exception から継承)
例外が保持されているかどうかを確かめます。
|
| 型 |
|---|
|
CodeEnum SFZTextButtonControl クラスを表す定数です。
|
|
DefaultEnum 各種パラメータのデフォルト値を表します。
|
|
DirectionEnum スクロールの移動方向を表します。
|
|
HorizontalEnum 水平方向のアラインメントを表す定数です。
|
|
VerticalEnum 垂直方向のアラインメントを表す定数です。
|
[ protected, explicit ] SFZTextButtonControl(Void);
[ protected, virtual ] virtual ~SFZTextButtonControl(Void);
[ public, const ] AEEFont GetFont(Void);
[ public, const ] HorizontalEnum GetHorizontalAlign(Void);
水平アラインメントの値。
[ public, const ] DirectionEnum GetScrollDirection(Void);
[ public, const ] UInt32 GetScrollInterval(Void);
[ public, const ] SInt16 GetScrollStep(Void);
[ public, const ] SFXWideStringConstRef GetText(Void);
[ public, const ] SFXRGBColorConstRef GetTextColor(Void);
[ public, const ] VerticalEnum GetVerticalAlign(Void);
垂直アラインメントの値。
[ public, const ] UInt32 GetWaitInterval(Void);
[ protected, const ] SFYSingleTextWidgetSmpConstRef GetWidget(Void);
テキスト ボタンコントロールのウィジェット。
![]() |
ウィジェットとは |
|---|---|
|
ウィジェットはコントロールなどが内部的に利用するレスポンダです。イベントに直接反応せず、描画機能だけが実装されています。 ただし、イベントへの応答や各種パラメータの設定のための API が用意されており、 ウィジェットを利用するコントロールなどがイベントに応答してこれらの API を呼び出します。 ウィジェットは同じ機能のコンポーネント化を目指して作成されています。 たとえば、ボタンコントロールとラベルコントロールでスクロールするテキストを実際に描画しているのは、 これらのコントロールが保持している SFYSingleTextWidget です。 このように、スクロールするテキストなど基本的な機能を提供するのがウィジェットであり、 新しいコントロールを作成する場合などに適宜ウィジェットを子レスポンダとして 用いれば複雑な処理を記述せずに簡単に実装することができます。 | |
[ protected, virtual, const ] Void HandleBoundOptimize( SFXRectanglePtr rectangle // 矩形 );
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です。
指定した矩形に収まる範囲内で最適なサイズを計算します。
[ protected, virtual, const ] Void HandleBoundRequest( SFXRectanglePtr rectangle // 計算された座標 );
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です。
レスポンダに最適な大きさの矩形を計算して返したい場合は、この関数をオーバーライドします。
デフォルトの実装は、テキストの大きさをもとにボタンに最適な矩形を計算します。
[ protected, virtual ] Void HandleBoundVirtual(Void);
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です。
仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は、テキストをボタンの中央に再配置します。
![]() |
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントの送信 |
|---|---|
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントは SFYResponder::SetRealBound または SFYResponder::SetVirtualBound 関数を呼び出したときなどに発生します。 | |
![]() |
仮想領域の変更処理 |
|---|---|
|
この仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。 仮想領域の変更処理は、最初に仮想関数を実行し、次に領域イベント専用ハンドラを登録した順に実行して行われます。 領域イベント専用ハンドラを宣言し登録する手間が省けるので、通常はこの仮想関数をオーバーライドだけして仮想領域の変更処理を行います。 | |
SFYResponder::SetRealBound | SFYResponder::SetVirtualBound | 領域イベント(SFEVT_RESPONDER_BOUND) | 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]
[ protected, virtual ] Void HandleOperateKey(Void);
SFEVT_KEY イベントを受信し、SetOperateKey 関数で設定したキーと一致したときに呼び出される関数です。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は、テキストのスクロール位置を初期化します。
[ protected, virtual, const ] Void HandleRenderRequest( SFXGraphicsPtr graphics // グラフィックスオブジェクト );
(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST) イベントを受信したときに呼び出される関数です。
独自の描画処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は、ボタンを描画します。
![]() |
描画処理の方法 |
|---|---|
|
この仮想関数をオーバーライドする以外に、 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER]を定義・実装し レスポンダに登録して行うことも可能です。 描画処理は、最初に仮想関数を実行し、次に描画イベント専用ハンドラを登録した順に実行して行われます。 描画イベント専用ハンドラを宣言し登録する手間が省けるので、通常はこの仮想関数をオーバーライドだけして描画を行います。 | |
![]() |
描画処理の手順 |
|---|---|
|
描画ハンドラは描画イベント(SFEVT_RESPONDER_RENDER)の発生によって起動されます。 そして実際の描画は描画ハンドラによって行われます。 描画イベント(SFEVT_RESPONDER_RENDER)自体は、 SFYResponder::Render 関数によって描画エンジンが起動してから 描画エンジンが登録された再描画領域のなかから再描画が必要な領域を含むレスポンダだけに SFYResponder::InvokeBackward 関数を使って送信します。 なお、SFYResponder::Render 関数は イベントループの最後で自動的に呼び出されるか、 コールバックなどの処理なかから明示的に呼び出されるかのどちらかです。 また、SFYResponder::Render 関数の引数を true にして呼び出すと、 再描画領域の登録に関係無くレスポンダツリーの自レスポンダ以下の枝部分で実際に携帯電話の画面に描画されるすべてのレスポンダに描画イベントが送信されます。 | |
SFYResponder::Invalidate | SFYResponder::Render | SFYResponder::InvokeBackward | 描画イベント(SFEVT_RESPONDER_RENDER) | 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER] | 描画処理
[ public, static ] SFZTextButtonControlSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
関数内部で発生したエラー値を返します。
SFZTextButtonControl クラスの新しいインスタンスを作成します。
作成に成功した場合は null 以外のポインタを返し、exception 引数は常に SFERR_NO_ERROR になります。メモリ不足などで作成に失敗した場合は null ポインタを返し、exception 引数にエラー値が返ります。
テキストボタンを作成する方法
SFZTextButtonControlSmp button;
SFCError error;
if ((button = SFZTextButtonControl::NewInstance(&error)) != null) {
...
}
[ public ] Void SetHorizontalAlign( HorizontalEnum param // 設定する値 );
水平アラインメントを設定します。
デフォルト値: SFYSingleTextWidget::DEFAULT_HORIZONTAL(中央揃え)
[ public ] Void SetScrollDirection( DirectionEnum param // 設定する値 );
[ public ] SFCError SetText( SFXPathConstRef path // リソースファイルパス UInt16 id // リソース ID );
[ public ] SFCError SetText( SFXWideStringConstRef param // 文字列 );
表示するテキストを設定します。
文字列を直接設定したり、ファイルから読み込むように設定することもできます。
[ public ] Void SetTextColor( SFXRGBColorConstRef param // 設定する値 );
デフォルト値: SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色]
非活性状態にあるときは、この関数で設定された色の明度が 0x7E より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7E 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色でテキストは描画されます。
色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。
[ public ] Void SetVerticalAlign( VerticalEnum param // );
垂直アラインメントを設定します。
デフォルト値: SFYSingleTextWidget::DEFAULT_VERTICAL(中央揃え)
[ public ] Void StartScroll(Void);
テキストの幅が仮想領域の幅よりも大きいときに、テキストのスクロールを開始します。
仮想領域の幅が十分大きいときは何もしません。
SFEVT_APP_SUSPEND イベントと SFEVT_APP_RESUME イベントに自動的に応答しますが、SFEVT_APP_SUSPEND イベントの受信後から SFEVT_APP_RESUME イベントの受信までの間にこの関数を呼び出したときの動作は未定です。
[ public ] Void StopScroll(Void);
enum CodeEnum {
CODE_TYPE = four_char_code('c', 't', 'b', 'n')
};
SFMTYPEDEFTYPE(CodeEnum)
enum DefaultEnum {
DEFAULT_WAIT = SFYTextWidget::DEFAULT_WAIT, // スクロール開始までの待ち時間
DEFAULT_SCROLL = SFYTextWidget::DEFAULT_SCROLL, // スクロールの移動時間
DEFAULT_STEP = SFYTextWidget::DEFAULT_STEP // スクロールの移動量
};
SFMTYPEDEFTYPE(DefaultEnum)
enum DirectionEnum {
DIRECTION_LEFT = SFYTextWidget::DIRECTION_LEFT, // 左へスクロール
DIRECTION_RIGHT = SFYTextWidget::DIRECTION_RIGHT, // 右へスクロール
DEFAULT_DIRECTION = SFYTextWidget::DEFAULT_DIRECTION // デフォルト値
};
SFMTYPEDEFTYPE(DirectionEnum)
enum HorizontalEnum {
HORIZONTAL_LEFT = SFYSingleTextWidget::HORIZONTAL_LEFT, // 左詰め
HORIZONTAL_CENTER = SFYSingleTextWidget::HORIZONTAL_CENTER, // 中央揃え
HORIZONTAL_RIGHT = SFYSingleTextWidget::HORIZONTAL_RIGHT, // 右詰め
DEFAULT_HORIZONTAL = SFYSingleTextWidget::DEFAULT_HORIZONTAL // デフォルト設定: 中央揃え
};
SFMTYPEDEFTYPE(HorizontalEnum)
enum VerticalEnum {
VERTICAL_TOP = SFYSingleTextWidget::VERTICAL_TOP, // 上詰め
VERTICAL_MIDDLE = SFYSingleTextWidget::VERTICAL_MIDDLE, // 中央揃え
VERTICAL_BOTTOM = SFYSingleTextWidget::VERTICAL_BOTTOM, // 下詰め
DEFAULT_VERTICAL = SFYSingleTextWidget::DEFAULT_VERTICAL // デフォルト値: 中央揃え
};
SFMTYPEDEFTYPE(VerticalEnum)
|
Copyright(c) 2002 - 2009 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|