📄 sgrlistboxcontrol.hpp
字号:
//
// SGRListboxControl.hpp
//
// Copyright (C) 2006 Sophia Cradle Incorporated
#ifndef __SGRLISTBOXCONTROL_HPP
#define __SGRLISTBOXCONTROL_HPP
#include <SophiaFramework.hpp>
SFMRESPONDERTYPE(LISTBOXCONTROL, TYPE_CONTROL)
SFMRESPONDERATTRIBUTE(LISTBOXCONTROL, four_char_code('L', 'i', 's', 't'))
SFMRESPONDERBEHAVIOR(LISTBOXCONTROL, BEHAVIOR_CONTROL, PROPERTY_DIRECT, APPEARANCE_SHADOW | PROPERTY_TRAVEL | PROPERTY_SCROLLABLE)
SFMTYPEDEFCLASS(SGRListboxControl)
class SGRListboxControl : public SFRControl {
SFMSEALCOPY(SGRListboxControl)
private:
SFXArray<SFXAnsiStringPtr> _item;
SInt16 _limit;
SInt16 _select;
SInt16 _offset;
SInt16 _speed;
SInt16 _height;
SInt16 _field;
SInt16 _delta;
SInt16 _interval;
SInt16 _firstinterval;
SInt16 _drawWidth;
public:
explicit SGRListboxControl(SFRResponderPtr responder, SFXRectangleConstRef rect) static_throws;
virtual ~SGRListboxControl(Void);
SInt16 GetItemCount(Void) const;
Void SetSelect(SInt16 value);
SInt16 GetSelect(Void) const;
Void SetDelta(SInt16 value);
SInt16 GetDelta(Void) const;
Void SetInterval(SInt16 interval);
SInt16 GetInterval(Void) const;
Void SetFirstInterval(SInt16 interval);
SInt16 GetFirstInterval(Void) const;
Void SetSpeed(SInt16 speed);
SInt16 GetSpeed(Void) const;
SFCError Append(SFXAnsiStringConstRef item);
Void Remove(SInt16 index);
Void Clear(Void);
private:
HANDLER_DECLARE_BOOLEVENT(SGRListboxControl, OnKey)
HANDLER_DECLARE_VOIDRENDER(SGRListboxControl, OnBase)
HANDLER_DECLARE_VOIDRENDER(SGRListboxControl, OnContent)
HANDLER_DECLARE_VOIDRESUME(SGRListboxControl, OnResume)
HANDLER_DECLARE_VOIDSUSPEND(SGRListboxControl, OnSuspend)
Void RefreshDelta(Void);
Void DrawItem(SFXGraphicsPtr graphics, SFXRectangleConstRef rect, SInt16 index, Bool next, Bool previous, SInt16 offset);
static SInt16 DrawTriangle(SFXGraphicsPtr graphics, SFXRectangleConstRef rect, Bool figure, SFXRGBColorConstRef color);
Void OnTimer(Void);
static Void OnTimerEntry(VoidPtr reference);
Void StartTimer(Void);
Void StopTimer(Void);
Void RestartTimer(Void);
};
#endif // __SGRLISTBOXCONTROL_HPP //
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -