⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sgrlistboxcontrol.hpp

📁 一个基于BREW上的电子时钟程序,通过太阳历计算当前时间,并有闹铃和日志功能.
💻 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 + -