前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFZRadiobuttonControl
ラジオボタンを表すコントロールです。
#include <SFZRadiobuttonControl.h.hpp>
class SFZRadiobuttonControl : public SFYRadiobuttonControl;
SFMTYPEDEFRESPONDER(SFZRadiobuttonControl)

継承図

SFZRadiobuttonControl クラスの継承図

協調図

SFZRadiobuttonControl クラスの協調図

解説

■ 仕様と使い方

ラジオボタンコントロール(SFZRadiobuttonControl)は、 SFYButtonControl::SetOperateKey 関数で設定する操作キーを押下後に離すと、 結果イベント [SFXEvent(SFEVT_RESPONDER_RESULT, SFP16_RESULT_OK, SFYControl::GetCurrentValue())] を受信します。

[Note] 注意
この結果イベントは SFYRadiobuttonControl::HandleOperateKeyRelease 関数内で発生します。

文字数が多くスクロールして表示する必要がある場合には、 フォーカスされているときに自動的にスクロールを開始します。

複数のラジオボタンコントロールをグループ化して、 排他的な選択処理を自動的に行うことができます。

図 412. 動作例

動作例

□ラジオボタンコントロールの構成

  1. ラジオボタン領域(左側の領域)

    1. 立体的な円状ベベル領域
    2. 影領域(ボタン非押下時は右斜め下の半円、ボタン押下時は左斜め上の半円)
    3. チェックマーク

  2. テキスト領域(右側の領域)

デフォルトの実装では、 ラジオボタンコントロールは状態に応じて以下のように描画されます。

図 413. ラジオボタンの拡大図[活性状態または操作可能状態]


ラジオボタンの拡大図[活性状態または操作可能状態]

図 414. ラジオボタンの拡大図[フォーカス状態、非押下時]


ラジオボタンの拡大図[フォーカス状態、非押下時]

図 415. ラジオボタンコントロールの拡大図[活性状態または操作可能状態]


ラジオボタンコントロールの拡大図[活性状態または操作可能状態]

ラジオボタンは左側の領域、 テキストは右側の領域にそれぞれ描画されます。

詳細情報 : SFYButtonControl::DrawButton | SFYButtonControl::DrawShadow

図 416. ラジオボタンコントロールの拡大図[非活性状態]


ラジオボタンコントロールの拡大図[非活性状態]

非活性状態にあるとき、 テキストは SFZRadiobuttonControl::SetTextColor 関数で設定した色を非活性状態に合わせて補正した色で描画されます。

詳細情報 : SFYButtonControl::DrawButton | SFYButtonControl::DrawShadow

図 417. ラジオボタンコントロールの拡大図[フォーカス状態・非押下時]

図 418. ラジオボタンコントロールの拡大図[フォーカス状態・押下時]

[Caution] 透過属性のデフォルト値

このクラスの透過属性のデフォルト値は true なので、 SFYResponder::SetPropertyTransparent 関数で透過属性を false に設定しない限り、 SFYWidget::SetBackgroundColor 関数で設定した色で背景が塗り潰されることはありません。

参照

ラジオボタンコントロール [SFZRadiobuttonControl] | 状態 | SFYControl | SFYButtonControl | SFYCheckboxControl | SFYRadiobuttonControl | SFYSingleTextWidget

メンバ

コンストラクタ/デストラクタ
SFZRadiobuttonControl( Void )
SFZRadiobuttonControl クラスのコンストラクタです。
~SFZRadiobuttonControl( Void )
SFZRadiobuttonControl クラスのデストラクタです。
パブリック関数
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
SFZRadiobuttonControlSmp
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 )
テキストを設定します。
SFCError 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 から継承)
指定された配信型イベントを SFYDistributer インスタンスと、このレスポンダ以下のレスポンダツリーに配信します。
SFXRGBColorConstRef GetBackgroundColor( Void ) (SFYWidget から継承)
背景の色を取得します。
SFXBevelColorConstRef GetButtonColor( Void ) (SFYButtonControl から継承)
ボタンコントロール内ベベル領域を描画するベベルカラーを取得します。
SFXRGBColorConstRef GetCheckmarkColor( Void ) (SFYCheckboxControl から継承)
チェックマークの色を取得します。
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 から継承)
このレスポンダに設定されている配信エンジンを取得します。
SFXBevelColorConstRef GetFocusColor( Void ) (SFYButtonControl から継承)
フォーカス状態にあるときのボタンコントロール内ベベル領域の枠を描画するベベルカラーを取得します。
SFYResponderSmp GetFrame( Void ) (SFYResponder から継承)
このレスポンダに装着されたフレームを取得します。
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 ) (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 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 から継承)
このレスポンダの仮想領域を取得します。
Void Group( SFYRadiobuttonControlSmpConstRef param ) (SFYRadiobuttonControl から継承)
ラジオボタンコントロールをグループに登録します。
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 SetButtonColor( SFXBevelColorConstRef param ) (SFYButtonControl から継承)
ボタンコントロール内ベベル領域を描画するベベルカラーを設定します。
Void SetCheckmarkColor( SFXRGBColorConstRef param ) (SFYCheckboxControl から継承)
チェックマークの色を設定します。
Void SetCurrentValue( SInt32 param ) (SFYControl から継承)
コントロールの現在値を設定します。
Void SetDistributer( SFYDistributerPtr param ) (SFYResponder から継承)
指定された配信エンジンをこのレスポンダに設定します。
Void SetFocusColor( SFXBevelColorConstRef param ) (SFYButtonControl から継承)
フォーカス状態にあるときのボタンコントロール内ベベル領域の枠を描画するベベルカラーを設定します。
SFCError SetFrame( SFYResponderSmpConstRef param ) (SFYResponder から継承)
このレスポンダにフレームを装着します。
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 から継承)
指定された領域をこのレスポンダの仮想領域に設定します。
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 Ungroup( Void ) (SFYRadiobuttonControl から継承)
ラジオボタンコントロールのグループ登録を解除します。
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 から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
プロテクト関数
SFXRectangleConstRef GetButtonBound( Void )
ボタン領域の矩形を取得します。
SFYSingleTextWidgetSmpConstRef 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 イベントを受信したときに呼び出される関数です。
Void HandleRenderRequest( SFXGraphicsPtr graphics )
描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
Void DrawButton( SFXGraphicsPtr graphics , SFXRectangleConstRef rectangle ) (SFYButtonControl から継承)
ボタンコントロールのベベル領域を描画します。
Void DrawButton13( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYRadiobuttonControl から継承)
ラジオボタン用 13 × 13 ピクセルのボタンを描画します。
Void DrawButton27( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYRadiobuttonControl から継承)
ラジオボタン用 27 × 27 ピクセルのボタンを描画します。
Void DrawCheckmark05( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYRadiobuttonControl から継承)
ラジオボタン用 5 × 5 ピクセルのチェックマークを描画します。
Void DrawCheckmark09( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYCheckboxControl から継承)
チェックボックス用 9 × 9 ピクセルのチェックマークを描画します。
Void DrawCheckmark11( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYRadiobuttonControl から継承)
ラジオボタン用 11 × 11 ピクセルのチェックマークを描画します。
Void DrawCheckmark21( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYCheckboxControl から継承)
チェックボックス用 21 × 21 ピクセルのチェックマークを描画します。
SFXRectangle DrawShadow( SFXGraphicsPtr graphics , SFXRectangleConstRef rectangle ) (SFYButtonControl から継承)
ボタンコントロールの影領域を描画します。
SFXGrid DrawShadow14( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYRadiobuttonControl から継承)
ラジオボタン用 14 × 14 ピクセルの影を描画します。
SFXGrid DrawShadow28( SFXGraphicsPtr graphics , SFXGridConstRef grid ) (SFYRadiobuttonControl から継承)
ラジオボタン用 28 × 28 ピクセルの影を描画します。
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 から継承)
このレスポンダのスマートポインタを取得します。
Void HandleBoundGlobal( SFXRectangleConstRef rectangle ) (SFYWidget から継承)
[非推奨(廃止予定 API)] グローバル領域が変化したときに呼び出される関数です。
Void HandleBoundReal( Void ) (SFYControl から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です (実領域が変化したときの処理を行います)。
Void HandleOperateKeyPress( Void ) (SFYButtonControl から継承)
操作キーの SFEVT_KEY_PRESS イベントを受信したときに呼び出される関数です。
Void HandleOperateKeyRelease( Void ) (SFYRadiobuttonControl から継承)
操作キーの SFEVT_KEY_RELEASE イベントを受信したときに呼び出される関数です。
Void SetType( SFCType param ) (SFYResponder から継承)
指定された値をこのレスポンダのタイプに設定します。
CodeEnum
SFZRadiobuttonControl クラスを表す定数です。
DefaultEnum
各種パラメータのデフォルト値を表します。
DirectionEnum
スクロールの移動方向を表します。
HorizontalEnum
水平方向のアライメントを表す定数です。
VerticalEnum
垂直方向のアライメントを表す定数です。

SFZRadiobuttonControl::SFZRadiobuttonControl
SFZRadiobuttonControl クラスのコンストラクタです。
[ protected, explicit ]
SFZRadiobuttonControl(Void);

解説

このコンストラクタは、以下の初期化処理を行います。

  1. タイプを "crdo" に設定します。
  2. テキスト描画用に内部で子レスポンダとして保持する SFYSingleTextWidget インスタンスを生成します。
  3. SFYSingleTextWidget インスタンスの状態を「可視+活性+操作不能+非フォーカス」に設定します。
  4. テキストの文字列を ""[空文字列] に設定します。
  5. テキストのフォントを AEE_FONT_NORMAL に設定します。
  6. テキストの色を SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色] に設定します。
  7. テキストの水平アライメントを SFYSingleTextWidget::DEFAULT_HORIZONTAL に設定します。
  8. テキストの垂直アライメントを SFYSingleTextWidget::DEFAULT_VERTICAL に設定します。
  9. テキストのスクロール開始までの待ち時間を SFYSingleTextWidget::DEFAULT_WAIT に設定します。
  10. テキストのスクロール移動方向を SFYSingleTextWidget::DEFAULT_DIRECTION に設定します。
  11. テキストのスクロールインターバルを SFYSingleTextWidget::DEFAULT_SCROLL に設定します。
  12. テキストのスクロール移動量を SFYSingleTextWidget::DEFAULT_STEP に設定します。
  13. 下表にあるハンドラをレスポンダに登録します。

表 266. イベントハンドラ

イベント ハンドラの内容
フォーカス状態になったときの状態イベント[SFEVT_RESPONDER_STATE] テキストのスクロールを開始します。
非フォーカス状態になったときの状態イベント[SFEVT_RESPONDER_STATE] テキストのスクロールを停止します。
[Note] 注意
SFZRadiobuttonControl クラスを継承するレスポンダでは、 上記イベントが発生すると、それに対応するハンドラが呼び出されます。

内部実装

このコンストラクタの内部実装は以下の通りです。

/*protected */SFZRadiobuttonControl::SFZRadiobuttonControl(Void) static_throws
{
    static SFXEventRange::AtomRecConst          trange[] = {
        { SFEVT_RESPONDER_STATE,  SFEVT_RESPONDER_STATE,    SFP16_STATE_FOCUS,    SFP16_STATE_FOCUS}
    };
    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(OnStateFocus);
        trule[0].reference = this;
        static_throw(RegisterHandler(atomic_cast(trange), trule, lengthof(trange)));
        if (static_try()) {
            if ((_widget = SFYSingleTextWidget::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()) {
                        SetPropertyTransparent(true);
                        _widget->SetState(true, true, false, false);
                        Relocate();
                    }
                }
            }
            else {
                static_throw(error);
            }
        }
    }
}// SFZRadiobuttonControl::SFZRadiobuttonControl //

/*private */XANDLER_IMPLEMENT_VOIDSTATE(SFZRadiobuttonControl, OnStateFocus, invoker, reason, state)
{
    unused(invoker);
    unused(reason);
    (state) ? (_widget->StartScroll()) : (_widget->StopScroll());
    return;
}// XANDLER_IMPLEMENT_VOIDSTATE(SFZRadiobuttonControl, OnStateFocus) //

/*private */XANDLER_IMPLEMENT_VOIDSTYLE(SFZRadiobuttonControl, OnWidgetStyle, invoker, reason)
{
    unused(invoker);
    switch (reason) {
        case SFP16_STYLE_ALIGN:
        case SFP16_STYLE_TEXT:
        case SFP16_STYLE_FONT:
            Relocate();
            break;
        default:
            break;
    }
    InvokeBackward(SFXEvent(SFEVT_RESPONDER_STYLE, reason, 0), true);
    return;
}// XANDLER_IMPLEMENT_VOIDSTYLE(SFZRadiobuttonControl, OnWidgetStyle) //

/*private */Void SFZRadiobuttonControl::Relocate(Void)
{
    static SFXSize::AtomRecConst                style[] = {
        {14, 14},
        {28, 28}
    };
    SFXRectangle                                lx;
    SFXRectangle                                widget;
    SFXSize                                     font;
    SInt32                                      r0;
    SInt16                                      size;
    SInt16                                      offset;

    font.Set(_widget->GetFontSize());
    for (r0 = 0; r0 < static_cast<SInt32>(lengthof(style)) - 1; ++r0) {
        if (font.GetHeight() < style[r0 + 1].height) {
            break;
        }
    }
    lx.Set(GetLocalBound());
    _bound.Set(lx.GetOrigin(), style[r0]);
    widget.Set(lx.GetOrigin(), _widget->GetSuitableBound().GetSize());
    widget.SnapLeft(_bound.GetRight() + font.GetWidth() / 2);
    if (widget.GetRight() > lx.GetRight()) {
        widget.SetRight(lx.GetRight());
    }
    size = _bound.GetWidth();
    if (!widget.IsEmpty()) {
        size += font.GetWidth() / 2 + widget.GetWidth();
    }
    offset = 0;
    switch (_widget->GetHorizontalAlign()) {
        case SFYSingleTextWidget::HORIZONTAL_LEFT:
            offset += 0;
            break;
        case SFYSingleTextWidget::HORIZONTAL_RIGHT:
            offset += lx.GetWidth() - size;
            break;
        case SFYSingleTextWidget::HORIZONTAL_CENTER:
        default:
            offset += (lx.GetWidth() - size) / 2;
            break;
    }
    _bound.AddX(offset);
    widget.AddX(offset);
    size = ((_bound.GetHeight() > widget.GetHeight()) ? (_bound.GetHeight()) : (widget.GetHeight()));
    offset = 0;
    switch (_widget->GetVerticalAlign()) {
        case SFYSingleTextWidget::VERTICAL_TOP:
            offset += 0;
            break;
        case SFYSingleTextWidget::VERTICAL_BOTTOM:
            offset += lx.GetHeight() - size;
            break;
        case SFYSingleTextWidget::VERTICAL_MIDDLE:
        default:
            offset += (lx.GetHeight() - size) / 2;
            break;
    }
    _bound.AddY(offset + (size - _bound.GetHeight()) / 2);
    widget.AddY(offset + (size - widget.GetHeight()) / 2);
    _widget->SetRealBound(widget);
    return;
}// SFZRadiobuttonControl::Relocate //

参照

SFYResponder::SetType | SFZRadiobuttonControl::CodeEnum | SFYResponder::SetParent | SFYResponder::SetState | SFZRadiobuttonControl::SetText | SFZRadiobuttonControl::SetFont | SFZRadiobuttonControl::SetTextColor | SFZRadiobuttonControl::SetHorizontalAlign | SFZRadiobuttonControl::SetVerticalAlign | SFZRadiobuttonControl::SetScrollDirection | SFZRadiobuttonControl::SetScrollInterval | SFZRadiobuttonControl::SetScrollStep | SFZRadiobuttonControl::SetWaitInterval | SFZRadiobuttonControl::HorizontalEnum | SFZRadiobuttonControl::VerticalEnum | SFZRadiobuttonControl::DirectionEnum | SFZRadiobuttonControl::DefaultEnum | SFYSingleTextWidget::NewInstance | SFYSingleTextWidget | SFXRGBColor | タイプ | 状態 | イベント | 状態イベント[SFEVT_RESPONDER_STATE]


SFZRadiobuttonControl::~SFZRadiobuttonControl
SFZRadiobuttonControl クラスのデストラクタです。
[ protected, virtual ]
virtual ~SFZRadiobuttonControl(Void);

解説

このデストラクタは、何も行いません。

内部実装

このデストラクタの内部実装は以下の通りです。

/*protected virtual */SFZRadiobuttonControl::~SFZRadiobuttonControl(Void)
{
}// SFZRadiobuttonControl::~SFZRadiobuttonControl //

SFZRadiobuttonControl::GetButtonBound
ボタン領域の矩形を取得します。
[ protected, const ]
SFXRectangleConstRef GetButtonBound(Void);

戻り値

ボタン領域の矩形。

解説

この関数は、ラジオボタンコントロールのボタン領域の矩形を取得します。

[Note] 注意

ラジオボタンコントロールはボタン部分とテキスト部分から構成されます。 この関数は、そのボタン部分の矩形を取得するのに使います。


SFZRadiobuttonControl::GetFont
フォントを取得します。
[ public, const ]
AEEFont GetFont(Void);

戻り値

フォント。

解説

この関数は、フォントを取得します。

参照

SFZRadiobuttonControl::SetFont | BREW API AEEFont


SFZRadiobuttonControl::GetHorizontalAlign
水平アライメントの値を取得します。
[ public, const ]
HorizontalEnum GetHorizontalAlign(Void);

戻り値

水平アライメントの値。

解説

この関数は、水平アライメントの値を取得します。

参照

SFZRadiobuttonControl::SetHorizontalAlign | SFZRadiobuttonControl::HorizontalEnum


SFZRadiobuttonControl::GetScrollDirection
スクロールの移動方向を取得します。
[ public, const ]
DirectionEnum GetScrollDirection(Void);

戻り値

スクロールの移動方向。

解説

この関数は、スクロールの移動方向を取得します。

参照

SFZRadiobuttonControl::SetScrollDirection


SFZRadiobuttonControl::GetScrollInterval
スクロールインターバルを取得します。[単位:ミリ秒]
[ public, const ]
UInt32 GetScrollInterval(Void);

戻り値

スクロールインターバル。[単位:ミリ秒]

解説

この関数は、スクロールインターバルを取得します。[単位:ミリ秒]

参照

SFZRadiobuttonControl::SetScrollInterval


SFZRadiobuttonControl::GetScrollStep
スクロール移動量を取得します。[単位:ピクセル]
[ public, const ]
SInt16 GetScrollStep(Void);

戻り値

スクロール移動量。[単位:ピクセル]

解説

この関数は、スクロール移動量を取得します。[単位:ピクセル]

参照

SFZRadiobuttonControl::SetScrollStep


SFZRadiobuttonControl::GetText
テキストを取得します。
[ public, const ]
SFXWideStringConstRef GetText(Void);

戻り値

テキスト。

解説

この関数は、テキストを取得します。

参照

SFZRadiobuttonControl::SetText


SFZRadiobuttonControl::GetTextColor
テキストの色を取得します。
[ public, const ]
SFXRGBColorConstRef GetTextColor(Void);

戻り値

テキストの色。

解説

この関数は、テキストの色を取得します。

参照

SFZRadiobuttonControl::SetTextColor | SFXRGBColor


SFZRadiobuttonControl::GetVerticalAlign
垂直アライメントの値を取得します。
[ public, const ]
VerticalEnum GetVerticalAlign(Void);

戻り値

垂直アライメントの値。

解説

この関数は、垂直アライメントの値を取得します。

参照

SFZRadiobuttonControl::SetVerticalAlign | SFZRadiobuttonControl::VerticalEnum


SFZRadiobuttonControl::GetWaitInterval
スクロール開始までの待ち時間を取得します。[単位:ミリ秒]
[ public, const ]
UInt32 GetWaitInterval(Void);

戻り値

スクロール開始までの待ち時間。[単位:ミリ秒]

解説

この関数は、スクロール開始までの待ち時間を取得します。[単位:ミリ秒]

参照

SFZRadiobuttonControl::SetWaitInterval


SFZRadiobuttonControl::GetWidget
ラジオボタンテキスト描画用に内部で保持しているテキストウィジェットを取得します。
[ protected, const ]
SFYSingleTextWidgetSmpConstRef GetWidget(Void);

戻り値

ラジオボタンテキスト描画用に子レスポンダとして内部で保持する SFYSingleTextWidget インスタンス。

解説

この関数は、ラジオボタンテキスト描画用に子レスポンダとして内部で保持する SFYSingleTextWidget インスタンスを返します。

ラジオボタンテキストの描画は、SFYSingleTextWidget インスタンスに委譲して処理します。

参照

SFYSingleTextWidget


SFZRadiobuttonControl::HandleBoundOptimize
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です(指定した矩形に収まる範囲内で最適な領域を計算します)。
[ protected, virtual, const ]
Void HandleBoundOptimize(
    SFXRectanglePtr rectangle   // 矩形
);

解説

この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE, rectangle)] を受信したときに呼び出されます。

引数 rectangle で指定した矩形領域に収まる範囲内で、レスポンダの最適な領域を計算します。

計算結果のレスポンダに最適なサイズは、rectangle 引数の size 要素(サイズ)に格納されます。 なお、領域イベントの P32 パラメータとして渡された rectangle 引数の origin 要素(始点)はこの関数内で変更しないことを推奨します。

デフォルトの実装は以下の通りです。

  1. チェックマークの矩形を計算します。 SFZRadiobuttonControl::SetText 関数でテキストが設定されていない場合は、 チェックマークと引数の矩形の横幅と縦幅の、それぞれ小さいほうを矩形に設定して返します。 テキストが設定されている場合は、2. へ進みます。
  2. 引数の矩形を、チェックマークの横幅とフォントの横幅の半分(チェックマークとテキスト間の余白)だけ横幅を短くした矩形を計算します。
  3. 2. で計算した矩形を使用して、 SFYSingleTextWidget::HandleBoundOptimize 関数と同等の方法で、 SFZRadiobuttonControl::SetText 関数と SFZRadiobuttonControl::SetFont 関数で設定したテキストの最適な矩形サイズを計算します。
  4. 3.で計算した矩形をチェックマークの横幅とフォントの横幅の半分(チェックマークとテキスト間の余白)だけ横幅を長くした矩形を計算します。
  5. 4.で計算した矩形と引数で指定した矩形の横幅を比較して、小さい方の横幅を引数の矩形の横幅に設定して返します。
  6. チェックマークと4.で計算した矩形の縦幅の大きな方と、引数で指定した矩形の縦幅を比較して、 小さい方の縦幅を引数の矩形の縦幅に設定して返します。
[Note] チェックマークのサイズ

チェックマークのサイズは、SFXSize(14, 14) または SFXSize(28, 28) です。 使用するフォントのサイズに合わせて自動的に選択されます。

[Note] 領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベント]

SFYResponder::GetSuitableBound 関数は、 引数にヒント領域を指定した場合は 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE, rectangle)] をレスポンダに送信します。

SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundOptimize 仮想関数が呼び出されます。

※ 領域イベントの P32 パラメータ rectangle にはヒント領域が初期設定されています。

[Note] (SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベント受信時の最適な領域計算

SFYWidget::HandleBoundOptimize 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

最適な領域の計算は、最初に SFYWidget::HandleBoundOptimize 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。

領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundOptimize 仮想関数をオーバーライドして処理を記述します。

参照: SFYSingleTextWidget::HandleBoundOptimize

内部実装

この関数の内部実装は以下の通りです。

SFYSingleTextWidgetSmp          _widget;
SFXRectangle                    _bound;

/*protected virtual */Void SFZRadiobuttonControl::HandleBoundOptimize(SFXRectanglePtr rectangle) const
{
    SFXSize                                     size;
    SInt16                                      width;

    width = _bound.GetWidth() + _widget->GetFontSize().GetWidth() / 2;
    rectangle->Deflate(width, 0, 0, 0);
    size.Set(_widget->GetSuitableBound(*rectangle).GetSize());
    rectangle->Inflate(width, 0, 0, 0);
    if (!size.IsEmpty()) {
        size.AddWidth(width);
        if (size.GetHeight() < _bound.GetHeight()) {
            size.SetHeight(_bound.GetHeight());
        }
    }
    else {
        size.Set(_bound.GetSize());
    }
    if (rectangle->GetWidth() > size.GetWidth()) {
        rectangle->SetWidth(size.GetWidth());
    }
    if (rectangle->GetHeight() > size.GetHeight()) {
        rectangle->SetHeight(size.GetHeight());
    }
    return;
}// SFZRadiobuttonControl::HandleBoundOptimize //

参照

SFYResponder::GetSuitableBound | SFZRadiobuttonControl::SetText | SFZRadiobuttonControl::SetFont | SFYSingleTextWidget::HandleBoundOptimize | SFXEvent | 領域イベント[SFEVT_RESPONDER_BOUND]


SFZRadiobuttonControl::HandleBoundRequest
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です(最適な領域を計算します)。
[ protected, virtual, const ]
Void HandleBoundRequest(
    SFXRectanglePtr rectangle   // 計算された座標
);

解説

この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST, rectangle)] を受信したときに呼び出されます。

レスポンダの最適な領域を計算します。

計算結果のレスポンダに最適なサイズは、rectangle 引数の size 要素(サイズ)に格納されます。 なお、領域イベントの P32 パラメータとして渡された rectangle 引数の origin 要素(始点)はこの関数内で変更しないことを推奨します。

テキストの大きさをもとにラジオボタンに最適な矩形を計算します。

デフォルトの実装は以下の通りです。

  1. チェックマークの矩形を計算します。 SFZRadiobuttonControl::SetText 関数でテキストが設定されていない場合は、この矩形を返します。 テキストが設定されている場合は、2. へ進みます。
  2. SFYSingleTextWidget::HandleBoundRequest 関数と同等の方法で、 SFZRadiobuttonControl::SetText 関数 SFZRadiobuttonControl::SetFont 関数で設定したテキストの最適な矩形サイズを計算します。
  3. 『1. の矩形の横幅+ 2. の矩形の横幅+フォントの横幅の半分』を引数の矩形の横幅に設定して返します。
  4. 1. と 2. の矩形の縦幅で大きな方を引数の矩形の縦幅に設定して返します。
[Note] チェックマークのサイズ

チェックマークのサイズは、SFXSize(14, 14) または SFXSize(28, 28) です。 使用するフォントのサイズに合わせて自動的に選択されます。

[Note] 領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベント]

SFYResponder::GetSuitableBound 関数は、 引数に何も指定しない場合は 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST, rectangle)] をレスポンダに送信します。

SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundRequest 仮想関数が呼び出されます。

※ 領域イベントの P32 パラメータ rectangle には実領域が初期設定されています。

[Tip] Tip
実領域のデフォルト値は SFXRectangle(0, 0, 0, 0) です。

[Note] (SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベント受信時の最適な領域計算

SFYWidget::HandleBoundRequest 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

最適な領域の計算は、最初に SFYWidget::HandleBoundRequest 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。

領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundRequest 仮想関数をオーバーライドして処理を記述します。

参照: SFYSingleTextWidget::HandleBoundRequest

内部実装

この関数の内部実装は以下の通りです。

SFYSingleTextWidgetSmp          _widget;
SFXRectangle                    _bound;

/*protected virtual */Void SFZRadiobuttonControl::HandleBoundRequest(SFXRectanglePtr rectangle) const
{
    SFXSize                                     size;

    size.Set(_widget->GetSuitableBound().GetSize());
    if (!size.IsEmpty()) {
        size.AddWidth(_bound.GetWidth() + _widget->GetFontSize().GetWidth() / 2);
        if (size.GetHeight() < _bound.GetHeight()) {
            size.SetHeight(_bound.GetHeight());
        }
    }
    else {
        size.Set(_bound.GetSize());
    }
    rectangle->SetSize(size);
    return;
}// SFZRadiobuttonControl::HandleBoundRequest //

参照

SFYResponder::GetSuitableBound | SFZRadiobuttonControl::SetText | SFZRadiobuttonControl::SetFont | SFYSingleTextWidget::HandleBoundRequest | SFXEvent | 実領域 | 領域イベント[SFEVT_RESPONDER_BOUND]


SFZRadiobuttonControl::HandleBoundVirtual
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です (仮想領域が変化したときの処理を行います)。
[ protected, virtual ]
Void HandleBoundVirtual(Void);

解説

この関数は、領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] を受信したときに呼び出されます。

仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、 ラジオボタンコントロールの右の配置されるテキスト領域を内部で保持するテキストウィジェット(SFYSingleTextWidget)の実領域として設定します。

SFZRadiobuttonControl::SetText 関数によって設定されたテキストは、 内部でテキストウィジェット(SFYSingleTextWidget)として保持されます。

[Note] 領域イベント[(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 には変更後の仮想領域が設定されています。

[Note] 仮想領域の変更処理

SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

仮想領域の変更処理は、最初に SFYWidget::HandleBoundVirtual 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。

領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドして処理を記述します。

内部実装

この関数の内部実装は以下の通りです。

SFYSingleTextWidgetSmp          _widget;
SFXRectangle                    _bound;

/*protected virtual */Void SFZRadiobuttonControl::HandleBoundVirtual(Void)
{
    Relocate();
    return;
}// SFZRadiobuttonControl::HandleBoundVirtual //

/*private */Void SFZRadiobuttonControl::Relocate(Void)
{
    static SFXSize::AtomRecConst                style[] = {
        {14, 14},
        {28, 28}
    };
    SFXRectangle                                lx;
    SFXRectangle                                widget;
    SFXSize                                     font;
    SInt32                                      r0;
    SInt16                                      size;
    SInt16                                      offset;

    font.Set(_widget->GetFontSize());
    for (r0 = 0; r0 < static_cast<SInt32>(lengthof(style)) - 1; ++r0) {
        if (font.GetHeight() < style[r0 + 1].height) {
            break;
        }
    }
    lx.Set(GetLocalBound());
    _bound.Set(lx.GetOrigin(), style[r0]);
    widget.Set(lx.GetOrigin(), _widget->GetSuitableBound().GetSize());
    widget.SnapLeft(_bound.GetRight() + font.GetWidth() / 2);
    if (widget.GetRight() > lx.GetRight()) {
        widget.SetRight(lx.GetRight());
    }
    size = _bound.GetWidth();
    if (!widget.IsEmpty()) {
        size += font.GetWidth() / 2 + widget.GetWidth();
    }
    offset = 0;
    switch (_widget->GetHorizontalAlign()) {
        case SFYSingleTextWidget::HORIZONTAL_LEFT:
            offset += 0;
            break;
        case SFYSingleTextWidget::HORIZONTAL_RIGHT:
            offset += lx.GetWidth() - size;
            break;
        case SFYSingleTextWidget::HORIZONTAL_CENTER:
        default:
            offset += (lx.GetWidth() - size) / 2;
            break;
    }
    _bound.AddX(offset);
    widget.AddX(offset);
    size = ((_bound.GetHeight() > widget.GetHeight()) ? (_bound.GetHeight()) : (widget.GetHeight()));
    offset = 0;
    switch (_widget->GetVerticalAlign()) {
        case SFYSingleTextWidget::VERTICAL_TOP:
            offset += 0;
            break;
        case SFYSingleTextWidget::VERTICAL_BOTTOM:
            offset += lx.GetHeight() - size;
            break;
        case SFYSingleTextWidget::VERTICAL_MIDDLE:
        default:
            offset += (lx.GetHeight() - size) / 2;
            break;
    }
    _bound.AddY(offset + (size - _bound.GetHeight()) / 2);
    widget.AddY(offset + (size - widget.GetHeight()) / 2);
    _widget->SetRealBound(widget);
    return;
}// SFZRadiobuttonControl::Relocate //

参照

SFYSingleTextWidget | SFZRadiobuttonControl::SetText | SFYResponder::SetRealBound | SFYResponder::SetVirtualBound | 領域イベント[SFEVT_RESPONDER_BOUND]


SFZRadiobuttonControl::HandleOperateKey
操作キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Void HandleOperateKey(Void);

解説

この関数は、SFYButtonControl::SetOperateKey 関数で設定した操作キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、テキストのスクロール位置を初期化します。

内部実装

この関数の内部実装は以下の通りです。

SFYSingleTextWidgetSmp          _widget;

/*protected virtual */Void SFZRadiobuttonControl::HandleOperateKey(Void)
{
    _widget->StopScroll();
    _widget->StartScroll();
    return;
}// SFZRadiobuttonControl::HandleOperateKey //

参照

SFYButtonControl::SetOperateKey | キーイベント[SFEVT_KEY]


SFZRadiobuttonControl::HandleRenderRequest
描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
[ protected, virtual, const ]
Void HandleRenderRequest(
    SFXGraphicsPtr graphics   // グラフィックスオブジェクト
);

解説

この関数は、 描画イベント [SFXEvent(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST, graphics)] を受信したときに呼び出されます。

独自の描画処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装では、 状態に応じて以下のようなラジオボタンコントロールを描画します。 ボタン部分の描画の詳細については、SFYButtonControl::DrawButton 関数と SFYButtonControl::DrawShadow 関数の説明を参照してください。 チェックマーク、テキストの描画の詳細については、それぞれ SFYCheckboxControl::SetCheckmarkColorSFZRadiobuttonControl::SetTextColor関数の説明を参照してください。

デフォルトの実装では、 状態に応じて以下のようにラジオボタンコントロールを描画します。

■ラジオボタンコントロールの構成

  1. ラジオボタン領域(左側の領域)

    1. 立体的な円状ベベル領域
    2. 影領域(ボタン非押下時は右斜め下の半円、ボタン押下時は左斜め上の半円)
    3. チェックマーク

  2. テキスト領域(右側の領域)

■ラジオボタンコントロールの描画処理

  1. 左側のラジオボタン領域を描画します(※)。
    1. SFYRadiobuttonControl::DrawButton13 関数または SFYRadiobuttonControl::DrawButton27 関数を呼び出してボタン領域を描画します。
    2. SFYRadiobuttonControl::DrawShadow14 関数または SFYRadiobuttonControl::DrawShadow28 関数関数を呼び出して影領域を描画します。
    3. SFYRadiobuttonControl::DrawCheckmark05 関数または SFYRadiobuttonControl::DrawCheckmark11 関数を呼び出してチェックマークを描画します。
  2. 右側のテキスト領域にテキストを描画します(透過属性が true なので、背景は描画されません)。 ラジオボタンとテキストの間には、使用しているフォントの横幅半分の空白を入れます。
  3. テキストは、 SFZRadiobuttonControl::SetText 関数で設定します。
  4. テキストの配置は、 SFZRadiobuttonControl::SetHorizontalAlign 関数と SFZRadiobuttonControl::SetVerticalAlign 関数で設定します。
  5. テキストのフォントと色は、 SFZRadiobuttonControl::SetFont 関数、 SFZRadiobuttonControl::SetTextColor 関数で設定します。
  6. ラジオボタンコントロールがフォーカス状態にあるとき、 テキスト表示領域の横幅よりも長いテキストは、 SFZRadiobuttonControl::SetScrollDirection 関数、 SFZRadiobuttonControl::SetScrollInterval 関数、 SFZRadiobuttonControl::SetScrollStep 関数で設定されたパラメータに応じてスクロールして描画します。
  7. ボタン、影、チェックマークは SFYButtonControl::SetButtonColor 関数、 SFYButtonControl::SetFocusColor 関数、 SFYButtonControl::SetShadowColor 関数、 SFYCheckboxControl::SetCheckmarkColor 関数で設定した色で描画します。
  8. 実際のテキストの描画は、 このクラスが内部で保持する SFYSingleTextWidget クラスに委譲して行われます。

※ラジオボタンは、14 × 14 ピクセルと 28 × 28 ピクセルの 2 種類が存在します。 領域の大きさに合わせて自動的に選択されます。

図 419. ラジオボタンの拡大図[活性状態または操作可能状態]


ラジオボタンの拡大図[活性状態または操作可能状態]

図 420. ラジオボタンの拡大図[フォーカス状態、非押下時]


ラジオボタンの拡大図[[フォーカス状態、非押下時]]

図 421. ラジオボタンコントロールの拡大図[活性状態または操作可能状態]


ラジオボタンコントロールの拡大図[活性状態または操作可能状態]

ラジオボタンは左側の領域、 テキストは右側の領域にそれぞれ描画されます。

詳細情報 : SFYButtonControl::DrawButton | SFYButtonControl::DrawShadow

図 422. ラジオボタンコントロールの拡大図[非活性状態]


ラジオボタンコントロールの拡大図[非活性状態]

非活性状態にあるとき、 テキストは SFZRadiobuttonControl::SetTextColor 関数で設定した色を非活性状態に合わせて補正した色で描画されます。

詳細情報 : SFYButtonControl::DrawButton | SFYButtonControl::DrawShadow

図 423. ラジオボタンコントロールの拡大図[フォーカス状態・非押下時]

図 424. ラジオボタンコントロールの拡大図[フォーカス状態・押下時]

[Note] レスポンダの描画手順

  1. SFYResponder::Invalidate 関数を使用して再描画領域を登録します。
  2. イベントループの最後、 アプリ開始/レジュームまたは優先的イベントハンドラ終了のタイミング、 あるいは、コールバックなどのイベントループの外で、 自動的に、あるいは、明示的に SFYResponder::Render 関数を呼び出します。
  3. 描画エンジンが起動されます。
  4. 再描画が必要なレスポンダだけが描画イベントを受信します。
  5. SFYWidget クラスを継承するレスポンダが描画イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した描画ハンドラの処理により、 SFYWidget::HandleRenderRequest 仮想関数が呼び出されます。 その後、描画ハンドラが登録した順に呼び出されます。
  6. 実際にレスポンダが描画されます。

[Tip] Tip
描画ハンドラの宣言と登録の手間を省けるので、 通常は SFYWidget::HandleRenderRequest 仮想関数だけを利用してレスポンダを描画します。

内部実装

この関数の内部実装は以下の通りです。

SFXRectangle                    _bound;

/*protected virtual */Void SFZRadiobuttonControl::HandleRenderRequest(SFXGraphicsPtr graphics) const
{
    SFXGrid                                     grid;

    if (_bound.GetHeight() >= 28) {
        grid.Set(DrawShadow28(graphics, _bound.GetOrigin()));
        DrawButton27(graphics, grid);
        grid.Add(8, 8);
        DrawCheckmark11(graphics, grid);
    }
    else if (_bound.GetHeight() >= 14) {
        grid.Set(DrawShadow14(graphics, _bound.GetOrigin()));
        DrawButton13(graphics, grid);
        grid.Add(4, 4);
        DrawCheckmark05(graphics, grid);
    }
    return;
}// SFZRadiobuttonControl::HandleRenderRequest //

参照

SFYButtonControl::DrawButton | SFYButtonControl::DrawShadow | SFYCheckboxControl::SetCheckmarkColor | SFYButtonControl::SetButtonColor | SFYButtonControl::SetFocusColor | SFYButtonControl::SetShadowColor | SFYButtonControl::SetOperateKey | SFYRadiobuttonControl::DrawButton13 | SFYRadiobuttonControl::DrawButton27 | SFYRadiobuttonControl::DrawShadow14 | SFYRadiobuttonControl::DrawShadow28 | SFYRadiobuttonControl::DrawCheckmark05 | SFYRadiobuttonControl::DrawCheckmark11 | SFZRadiobuttonControl::SetText | SFZRadiobuttonControl::SetHorizontalAlign | SFZRadiobuttonControl::SetVerticalAlign | SFZRadiobuttonControl::SetFont | SFZRadiobuttonControl::SetTextColor | SFYSingleTextWidget | SFYSingleTextWidget::HandleRenderRequest | SFYResponder::Invalidate | SFYResponder::Render | SFYResponder::InvokeBackward | 描画イベント[SFEVT_RESPONDER_RENDER] | 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER] | 描画処理 | 状態


SFZRadiobuttonControl::NewInstance
新しいインスタンスを作成します。
[ public, static ]
SFZRadiobuttonControlSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);

引数

exception

関数内部で発生したエラー値を返します。

戻り値

  • 成功したとき: null 以外のポインタ
  • 失敗したとき: null ポインタ

解説

この関数は、SFZRadiobuttonControl クラスの新しいインスタンスを作成します。

インスタンスの作成に成功した場合は null 以外のポインタを返します。 失敗した場合は、null ポインタを返します。

exception 引数を指定した場合、 この引数にはエラー値が返ります。

使用例

以下は、ラジオボタンのインスタンスを生成するためのコードです。

// ラジオボタンのインスタンスを生成する
SFZRadiobuttonControlSmp _radiobutton;
SFCError error;

if ((_radiobutton = SFZRadiobuttonControl::NewInstance(&error)) != null) {
    // ...
}

SFZRadiobuttonControl::SetFont
フォントを設定します。
[ public ]
Void SetFont(
    AEEFont param   // 設定する値
);

解説

この関数は、フォントを設定します。

デフォルト値: AEE_FONT_NORMAL

参照

SFZRadiobuttonControl::GetFont | BREW API AEEFont


SFZRadiobuttonControl::SetHorizontalAlign
水平アライメントを設定します。
[ public ]
Void SetHorizontalAlign(
    HorizontalEnum param   // 設定する値
);

解説

この関数は、水平アライメントを設定します。

デフォルト値: SFYSingleTextWidget::DEFAULT_HORIZONTAL

SFYSingleTextWidget::DEFAULT_HORIZONTAL の値は SFYSingleTextWidget::HorizontalEnum を参照してください。

参照

SFZRadiobuttonControl::GetHorizontalAlign | SFZRadiobuttonControl::HorizontalEnum | SFYSingleTextWidget::HorizontalEnum


SFZRadiobuttonControl::SetScrollDirection
スクロールの移動方向を設定します。
[ public ]
Void SetScrollDirection(
    DirectionEnum param   // 設定する値
);

解説

この関数は、スクロール移動方向を設定します。

デフォルト値: SFYSingleTextWidget::DEFAULT_DIRECTION

SFYSingleTextWidget::DEFAULT_DIRECTION の値は SFYSingleTextWidget::DirectionEnum を参照してください。

参照

SFZRadiobuttonControl::GetScrollDirection | SFZRadiobuttonControl::DirectionEnum | SFYSingleTextWidget::DirectionEnum


SFZRadiobuttonControl::SetScrollInterval
スクロールインターバルを設定します。[単位:ミリ秒]
[ public ]
Void SetScrollInterval(
    UInt32 param   // 設定する値
);

解説

この関数は、スクロールインターバルを設定します。[単位:ミリ秒]

デフォルト値: SFYSingleTextWidget::DEFAULT_SCROLL ミリ秒

SFYSingleTextWidget::DEFAULT_SCROLL の値は SFYSingleTextWidget::DefaultEnum を参照してください。

参照

SFZRadiobuttonControl::GetScrollInterval | SFYSingleTextWidget::DefaultEnum


SFZRadiobuttonControl::SetScrollStep
スクロール移動量を設定します。[単位:ピクセル]
[ public ]
Void SetScrollStep(
    SInt16 param   // 設定する値
);

解説

この関数は、1 回のスクロールで移動するピクセル数を設定します。

−1(デフォルト値)を設定すると、使用しているフォントの半角空白文字 1 文字分(" ")の幅がスクロール移動量となります。

デフォルト値: SFYSingleTextWidget::DEFAULT_STEP [単位:ピクセル]

SFYSingleTextWidget::DEFAULT_STEP の値は SFYSingleTextWidget::DefaultEnum を参照してください。

参照

SFZRadiobuttonControl::GetScrollStep | SFZRadiobuttonControl::DefaultEnum | SFYSingleTextWidget::DefaultEnum


SFZRadiobuttonControl::SetText
テキストを設定します。
[ public ]
SFCError SetText(
    SFXPathConstRef path   // リソースファイルパス
    UInt16 id              // リソース ID
);
[ public ]
SFCError SetText(
    SFXWideStringConstRef param   // 文字列
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY
  • BREW API IShell インターフェースのインスタンスが取得できないとき: SFERR_FAILED

解説

この関数は、テキストを設定します。

テキストを直接、あるいは、リソースファイルから読み込むように指定します。

デフォルト値: ""[空文字列]

参照

SFZRadiobuttonControl::GetText | SFZRadiobuttonControl::SetHorizontalAlign | SFZRadiobuttonControl::SetVerticalAlign SFZRadiobuttonControl::SetTextColor | SFZRadiobuttonControl::SetFont


SFZRadiobuttonControl::SetTextColor
テキストの色を設定します。
[ public ]
Void SetTextColor(
    SFXRGBColorConstRef param   // 設定する値
);

解説

この関数は、テキストの色を設定します。

デフォルト値: SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色]

非活性状態にあるときは、この関数で設定された色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色でテキストは描画されます。

色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。

参照

SFZRadiobuttonControl::GetTextColor | SFXRGBColor::GetBrightness | SFXRGBColor | 状態


SFZRadiobuttonControl::SetVerticalAlign
垂直アライメントを設定します。
[ public ]
Void SetVerticalAlign(
    VerticalEnum param   // 設定する値
);

解説

この関数は、垂直アライメントを設定します。

デフォルト値: SFYSingleTextWidget::DEFAULT_VERTICAL

SFYSingleTextWidget::DEFAULT_VERTICAL の値は SFYSingleTextWidget::VerticalEnum を参照してください。

参照

SFZRadiobuttonControl::GetVerticalAlign | SFZRadiobuttonControl::VerticalEnum | SFYSingleTextWidget::VerticalEnum


SFZRadiobuttonControl::SetWaitInterval
スクロール開始までの待ち時間を設定します。[単位:ミリ秒]
[ public ]
Void SetWaitInterval(
    UInt32 param   // 設定する値
);

解説

この関数は、スクロール開始までの待ち時間を設定します。[単位:ミリ秒]

デフォルト値: SFYSingleTextWidget::DEFAULT_WAIT ミリ秒

SFYSingleTextWidget::DEFAULT_WAIT の値は SFYSingleTextWidget::DefaultEnum を参照してください。

参照

SFZRadiobuttonControl::GetWaitInterval | SFYSingleTextWidget::DefaultEnum


SFZRadiobuttonControl::StartScroll
テキストのスクロールを開始します。
[ public ]
Void StartScroll(Void);

解説

この関数は、テキストのスクロールを開始します。

仮想領域の幅がテキストの幅よりも大きいときは何もしません。

SFEVT_APP_SUSPEND イベントと SFEVT_APP_RESUME イベントに自動的に応答しますが、 SFEVT_APP_SUSPEND イベントの受信後から SFEVT_APP_RESUME イベントの受信までの間にこの関数を呼び出したときの動作は未定です。


SFZRadiobuttonControl::StopScroll
テキストのスクロールを停止します。
[ public ]
Void StopScroll(Void);

解説

この関数は、テキストのスクロールを停止します。


SFZRadiobuttonControl::CodeEnum
SFZRadiobuttonControl クラスを表す定数です。
enum CodeEnum {
    CODE_TYPE = four_char_code('c', 'r', 'd', 'o')
};
SFMTYPEDEFTYPE(CodeEnum)

参照

SFYResponder::GetType | SFYResponder::SetType


SFZRadiobuttonControl::DefaultEnum
各種パラメータのデフォルト値を表します。
enum DefaultEnum {
    DEFAULT_WAIT   = SFYSingleTextWidget::DEFAULT_WAIT,    // スクロール開始までの待ち時間(単位:ミリ秒)
    DEFAULT_SCROLL = SFYSingleTextWidget::DEFAULT_SCROLL,  // スクロールインターバル(単位:ミリ秒)
    DEFAULT_STEP   = SFYSingleTextWidget::DEFAULT_STEP     // スクロール移動量(単位:ピクセル)
};
SFMTYPEDEFTYPE(DefaultEnum)

参照

SFYSingleTextWidget::DefaultEnum


SFZRadiobuttonControl::DirectionEnum
スクロールの移動方向を表します。
enum DirectionEnum {
    DIRECTION_LEFT    = SFYSingleTextWidget::DIRECTION_LEFT,      // 左へスクロール
    DIRECTION_RIGHT   = SFYSingleTextWidget::DIRECTION_RIGHT,     // 右へスクロール
    DEFAULT_DIRECTION = SFYSingleTextWidget::DEFAULT_DIRECTION    // デフォルト値
};
SFMTYPEDEFTYPE(DirectionEnum)

参照

SFYSingleTextWidget::DirectionEnum


SFZRadiobuttonControl::HorizontalEnum
水平方向のアライメントを表す定数です。
enum HorizontalEnum {
    HORIZONTAL_LEFT    = SFYSingleTextWidget::HORIZONTAL_LEFT,   // 左詰め
    HORIZONTAL_CENTER  = SFYSingleTextWidget::HORIZONTAL_CENTER, // 中央揃え
    HORIZONTAL_RIGHT   = SFYSingleTextWidget::HORIZONTAL_RIGHT,  // 右詰め
    DEFAULT_HORIZONTAL = SFYSingleTextWidget::DEFAULT_HORIZONTAL // デフォルト設定: 中央揃え
};
SFMTYPEDEFTYPE(HorizontalEnum)

参照

SFYSingleTextWidget::HorizontalEnum


SFZRadiobuttonControl::VerticalEnum
垂直方向のアライメントを表す定数です。
enum VerticalEnum {
    VERTICAL_TOP     = SFYSingleTextWidget::VERTICAL_TOP,     // 上詰め
    VERTICAL_MIDDLE  = SFYSingleTextWidget::VERTICAL_MIDDLE,  // 中央揃え
    VERTICAL_BOTTOM  = SFYSingleTextWidget::VERTICAL_BOTTOM,  // 下詰め
    DEFAULT_VERTICAL = SFYSingleTextWidget::DEFAULT_VERTICAL  // デフォルト値: 中央揃え
};
SFMTYPEDEFTYPE(VerticalEnum)

参照

SFYSingleTextWidget::VerticalEnum