![]() ![]() ![]()
|
SophiaFramework UNIVERSE 5.0 |
#include <SFYScrollBarControl.h.hpp>
class SFYScrollBarControl : public SFYControl;
SFMTYPEDEFCLASS(SFYScrollBarControl)


SFYScrollBarControl は各種スクロールバーコントロールを実装するための起点となるクラスです。
このクラスは、描画機能(トラック、インクリメントラベル、デクリメントラベル、サム)とスクロール操作機能を実装します。また、いくつかの仮想関数のデフォルトの動作も実装します。
以下は、スクロールバーコントロールの仕様です。

スクロールバーコントロールのデザインは、SFYScrollBarControl::SetBevelColor、 SFYScrollBarControl::SetTrackColor、 SFYScrollBarControl::SetArrowColor 関数によって変更可能です。
スクロールバーコントロールの位置やサイズを変更するには、SFYResponder::SetRealBound 関数を使います。
SFYScrollBarControl::SetOrientation 関数によって、垂直方向のスクロールバーや水平方向のスクロールバーを生成できます。
表 191. 仮想関数名とデフォルトの動作
| 仮想関数名 | デフォルトの動作 | オーバーライト |
|---|---|---|
| SFYWidget::HandleBoundRequest | − | 推奨 |
| SFYWidget::HandleBoundOptimize | − | 推奨 |
| SFYScrollBarControl::HandleBoundReal | 仮想領域を調整※1 | 任意 |
| SFYScrollBarControl::HandleBoundVirtual | 仮想領域を実領域に一致※2 | 任意 |
| SFYWidget::HandleBoundGlobal | − | 任意 |
| SFYWidget::HandleRenderRequest | − | 必須 |
| SFYScrollBarControl::DrawTrack | トラック領域の描画 | 推奨 |
| SFYScrollBarControl::DrawDecrement | 減分領域の描画 | 推奨 |
| SFYScrollBarControl::DrawIncrement | 増分領域の描画 | 推奨 |
| SFYScrollBarControl::DrawThumb | サム領域の描画 | 推奨 |
![]() |
注釈 |
|---|---|
|
※1.SetVirtualBound(SFXRectangle(SFXGrid::ZeroInstance(), GetRealBound().GetSize())) を実行します。 ※2.SetVirtualBound(SFXRectangle(SFXGrid::ZeroInstance(), GetRealBound().GetSize())) を実行します。 | |
SFYScrollBarControl::SetBevelColor | SFYScrollBarControl::SetTrackColor | SFYScrollBarControl::SetArrowColor | SFYScrollBarControl::SetOrientation | SFYResponder::SetRealBound
| コンストラクタ/デストラクタ |
|---|
|
SFYScrollBarControl( Void ) SFYScrollBarControl クラスのコンストラクタです。
|
|
~SFYScrollBarControl( Void ) SFYScrollBarControl クラスのデストラクタです。
|
| パブリック関数 | |
|---|---|
| Bool |
Decrement( Void ) スクロール ステップの値を減らします。
|
| Bool |
GetAlwaysVisible( Void ) 常にスクロールバーを表示するかどうかを返します。
|
| SFXRGBColorConstRef |
GetArrowColor( Void ) スクロールバーの矢印の色を取得します。
|
| SFXBevelColorConstRef |
GetBevelColor( Void ) 3D のスクロールバーを描画するためのベベルカラーを取得します。
|
| OrientationEnum |
GetOrientation( Void ) スクロールバーの方向を取得します。
|
| SInt32 |
GetPageValue( Void ) ページ サイズを取得します。
|
| SInt16 |
GetScrollRange( Void ) Scroll Range を取得します。
|
| SInt32 |
GetScrollStepValue( Void ) スクロール ステップの値を取得します。
|
| SInt16 |
GetThumbLength( Void ) Thumb の長さを取得します。
|
| SInt16 |
GetThumbTop( Void ) Thumb Top の位置を取得します。
|
| SFXRGBColorConstRef |
GetTrackColor( Void ) Track の色を取得します。
|
| Bool |
Increment( Void ) スクロール ステップの値を増やします。
|
| Void |
SetAlwaysVisible(
Bool param
) 常にスクロールバーを表示するかどうかを設定します。
|
| Void |
SetArrowColor(
SFXRGBColorConstRef param
) スクロールバーの矢印の色を設定します。
|
| Void |
SetBevelColor(
SFXBevelColorConstRef param
) 3D のスクロールバーを描画するためのベベルカラーを設定します。
|
| Void |
SetOrientation(
OrientationEnum param
) スクロールバーの方向を設定します。
|
| Void |
SetPageValue(
SInt32 param
) ページ サイズを設定します。
|
| Void |
SetScrollStepValue(
SInt32 param
) スクロール ステップの値を設定します。
|
| Void |
SetTrackColor(
SFXRGBColorConstRef param
) Track の色を設定します。
|
| Void |
ClearHandler( Void )
(SFYResponder から継承)
ハンドラの登録をすべて解除します。
|
| Void |
ClearTracer( Void )
(SFYResponder から継承)
トレーサの登録をすべて解除します。
|
| SFCError |
Distribute(
SFXEventConstRef event
, BoolPtr result = null
)
(SFYResponder から継承)
配信エンジンを起動してイベントを配信します。
|
| SFXRGBColorConstRef |
GetBackgroundColor( Void )
(SFYWidget から継承)
背景の色を取得します。
|
| 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 から継承)
配信エンジンを取得します。
|
| 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 から継承) 自レスポンダが前面から数えて何番目に位置するかを取得します。
|
| 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 |
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 |
SetCurrentValue(
SInt32 param
)
(SFYControl から継承)
コントロールの現在値を設定します。
|
| Void |
SetDistributer(
SFYDistributerPtr param
)
(SFYResponder から継承)
配信エンジンを設定します。
|
| Void |
SetID(
UInt32 param
)
(SFYResponder から継承)
ID を設定します。
|
| Void |
SetMaximumValue(
SInt32 param
)
(SFYControl から継承)
コントロールの最大値を設定します。
|
| Void |
SetMinimumValue(
SInt32 param
)
(SFYControl から継承)
コントロールの最小値を設定します。
|
| 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 から継承)
仮想領域を設定します。
|
| 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 から継承)
現在保持している例外を取得します。
|
| プロテクト関数 | |
|---|---|
| SFXRectangle |
DrawDecrement(
SFXGraphicsPtr graphics
, SFXRectangleConstRef rectangle
) 増分領域を描画します。
|
| SFXRectangle |
DrawIncrement(
SFXGraphicsPtr graphics
, SFXRectangleConstRef rectangle
) 減分領域を描画します。
|
| Void |
DrawThumb(
SFXGraphicsPtr graphics
, SFXRectangleConstRef rectangle
) サム領域を描画します。
|
| SFXRectangle |
DrawTrack(
SFXGraphicsPtr graphics
, SFXRectangleConstRef rectangle
) トラック領域を描画します。
|
| Void |
HandleBoundReal( Void ) 実領域が変化した時の処理を行います。
|
| Void |
HandleBoundVirtual( Void ) 仮想領域の変更処理を行います。
|
| Void |
UpdateScrollBar( Void ) サムの大きさと位置、スクロール範囲を調整します。
|
| static SFYResponderSmp |
Factory(
SFYResponderPtr responder
, SFCErrorPtr exception = null
)
(SFYResponder から継承)
NewInstance 関数の実装を補助します。
|
| SFYResponderSmp |
GetThis( Void )
(SFYResponder から継承)
スマートポインタで保持された this を取得します。
|
| Void |
HandleBoundGlobal(
SFXRectangleConstRef rectangle
)
(SFYWidget から継承)
グローバル領域の変更処理を行います。
|
| Void |
HandleBoundOptimize(
SFXRectanglePtr rectangle
)
(SFYWidget から継承)
指定した矩形に収まる範囲内で最適なサイズを計算します。
|
| Void |
HandleBoundRequest(
SFXRectanglePtr rectangle
)
(SFYWidget から継承)
最適な矩形を計算します。
|
| Void |
HandleRenderRequest(
SFXGraphicsPtr graphics
)
(SFYWidget から継承)
レスポンダを描画します。
|
| 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 SFYScrollBarControl クラスを表す定数です。
|
|
OrientationEnum スクロールバーの方向を表す定数です。
|
[ protected, explicit ] SFYScrollBarControl(Void);
[ protected, virtual ] virtual ~SFYScrollBarControl(Void);
[ public ] Bool Decrement(Void);
SFYScrollBarControl::SetScrollStepValue 関数で設定されたスクロール ステップの値を減らします。
[ protected, virtual, const ] SFXRectangle DrawDecrement( SFXGraphicsPtr graphics // グラフィックスオブジェクト SFXRectangleConstRef rectangle // ベースの領域 );
ベース領域から増分描画領域を除いた領域を返します。
増分部分を描画した後、ベースの描画領域から増分描画領域を除いた領域を返します。
SFYScrollBarControl::DrawTrack | SFYScrollBarControl::DrawIncrement | SFYScrollBarControl::DrawThumb
[ protected, virtual, const ] SFXRectangle DrawIncrement( SFXGraphicsPtr graphics // グラフィックスオブジェクト SFXRectangleConstRef rectangle // ベースの領域 );
ベース領域から減分描画領域を除いた領域を返します。
減分部分を描画した後、ベースの描画領域から増分描画領域を除いた領域を返します。
SFYScrollBarControl::DrawTrack | SFYScrollBarControl::DrawDecrement | SFYScrollBarControl::DrawThumb
[ protected, virtual, const ] Void DrawThumb( SFXGraphicsPtr graphics // グラフィックスオブジェクト SFXRectangleConstRef rectangle // ベースの領域 );
サム領域を描画します。
SFYScrollBarControl::DrawTrack | SFYScrollBarControl::DrawDecrement | SFYScrollBarControl::DrawIncrement
[ protected, virtual, const ] SFXRectangle DrawTrack( SFXGraphicsPtr graphics // グラフィックスオブジェクト SFXRectangleConstRef rectangle // ベースの領域 );
ベースの描画領域をそのまま返します。
トラック部分を描画した後、ベースの描画領域をそのまま返します。
SFYScrollBarControl::DrawDecrement | SFYScrollBarControl::DrawIncrement | SFYScrollBarControl::DrawThumb
[ public, const ] Bool GetAlwaysVisible(Void);
true: スクロールする必要がないときも表示されます。
false: スクロールする必要がないときは表示されません。
デフォルト値: false
常にスクロールバーを表示するかどうかの状態を取得します。
[ public, const ] SFXRGBColorConstRef GetArrowColor(Void);
矢印(三角形)の色(SFXRGBColor)。
[ public, const ] SFXBevelColorConstRef GetBevelColor(Void);
3D のスクロールバーを描画するためのベベルカラー(SFXBevelColor)。
[ public ] OrientationEnum GetOrientation(Void);
スクロールバーの方向(HORIZONTAL または VERTICAL)。
[ public ] SInt32 GetPageValue(Void);
[ public ] SInt16 GetScrollRange(Void);
[ public ] SInt32 GetScrollStepValue(Void);
スクロール ステップの値。
[ public ] SInt16 GetThumbLength(Void);
[ public ] SInt16 GetThumbTop(Void);
Thumb Top の位置(垂直スクロールバーの場合は Y 座標の値、水平スクロールバーの場合は X 座標の値)。
[ public, const ] SFXRGBColorConstRef GetTrackColor(Void);
Track 矩形を塗り潰す色(SFXRGBColor)。
[ protected, virtual ] Void HandleBoundReal(Void);
この関数は、(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出されます。
開発者は、独自の処理のためにこの関数をオーバーライドできます。
デフォルトの実装では、スクロールバーを構成する部品の位置と大きさを再計算し、仮想領域を実領域に一致させます。そして再描画領域としてこの領域を登録します。
![]() |
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントの送信 |
|---|---|
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントは SFYResponder::SetRealBound 関数を呼び出したときなどに発生します。 | |
![]() |
実領域の変更処理 |
|---|---|
|
この仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。 実領域の変更処理は、最初に仮想関数を実行し、次に領域イベント専用ハンドラを登録した順に実行して行われます。 領域イベント専用ハンドラを宣言し登録する手間が省けるので、通常はこの仮想関数をオーバーライドだけして実領域の変更処理を行います。 | |
SFYResponder::SetRealBound | 領域イベント(SFEVT_RESPONDER_BOUND) | 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]
[ 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]
[ public ] Bool Increment(Void);
SFYScrollBarControl::SetScrollStepValue 関数で設定されたスクロール ステップの値を増やします。
true に設定すると常にスクロールバーを表示します。
false に設定するとスクロールする必要がないときは表示しません。
デフォルト値: false
[ public ] Void SetArrowColor( SFXRGBColorConstRef param // 設定する色 );
[ public ] Void SetBevelColor( SFXBevelColorConstRef param // 設定するベベルカラーの値 );
3D のスクロールバーを描画するためのベベルカラーを設定します。
デフォルト値: SFXBevelColor(SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00), SFXRGBColor(0xDD, 0xDD, 0xDD, 0x00), SFXRGBColor(0x88, 0x88, 0x88, 0x00))
[ public ] Void SetOrientation( OrientationEnum param // スクロールバーの方向 );
スクロールバーの方向を取得します。水平(HORIZONTAL)または垂直(VERTICAL)の方向に設定可能です。
デフォルト値: VERTICAL
スクロール ステップの値を設定します。
[ public ] Void SetTrackColor( SFXRGBColorConstRef param // 設定する RGB 色 );
[ protected ] Void UpdateScrollBar(Void);
スクロールバーのローカル領域、コントロール値(最小値、最大値、現在値)、および、ページサイズからサムの位置と大きさ、スクロール範囲を計算し直します。
領域やコントロール値、ページサイズに変更があったときに呼び出します。
enum CodeEnum {
CODE_TYPE = four_char_code('.', 's', 'c', 'r')
};
SFMTYPEDEFTYPE(CodeEnum)
enum OrientationEnum {
HORIZONTAL = 0, // 水平方向
VERTICAL // 垂直方向
};
SFMTYPEDEFTYPE(OrientationEnum)|
Copyright(c) 2002 - 2009 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|