Class TRxClock (unit RXClock)

Inherits from

TCustomPanel

TRxClock

Constructors


constructor Create(AOwner: TComponent);

Public declarations

TRxClock



Functions

procedure SetAlarmTime(AlarmTime: TDateTime);


procedure UpdateClock;


procedure Alarm;

Protected declarations

procedure AlignControls(AControl: TControl; var Rect: TRect);


procedure CreateWnd;


procedure DestroyWnd;


procedure Loaded;

every second

procedure Paint;


procedure CheckAlarm;


procedure CircleClock(MaxWidth, MaxHeight: Integer);


procedure CMCtl3DChanged(var Message: TMessage);


procedure CMFontChanged(var Message: TMessage);

Skip this message, no repaint

procedure CMTextChanged(var Message: TMessage);


procedure DrawAnalogFace;


procedure DrawFatHand(Pos: Integer; HourHand: Boolean);


procedure DrawSecondHand(Pos: Integer);


function FormatSettingsChange(var Message: TMessage): Boolean;


function GetAlarmElement(Index: Integer): Byte;


function IsAlarmTime(ATime: TDateTime): Boolean;


procedure Paint3DFrame(var Rect: TRect);

shr 1

procedure PaintAnalogClock(PaintMode: TPaintMode);


procedure PaintTimeStr(var Rect: TRect; FullTime: Boolean);


procedure ResetAlarm;


procedure ResizeFont(const Rect: TRect);

FAlarmWait and

procedure SetAlarmElement(Index: Integer; Value: Byte);


procedure SetAutoSize(Value: Boolean);


procedure SetDotsColor(Value: TColor);

if FShowSeconds and (ShowMode = scAnalog) then DrawSecondHand(FDisplayTime.

procedure SetLeadingZero(Value: Boolean);


procedure SetShowMode(Value: TShowClock);


procedure SetShowSeconds(Value: Boolean);


procedure SetTwelveHour(Value: Boolean);


procedure TimerExpired(Sender: TObject);


procedure WMTimeChange(var Message: TMessage);


Properties

property AlarmEnabled : Boolean


property AlarmHour : Byte


property AlarmMinute : Byte


property AlarmSecond : Byte


property Align :

Published declarations

property AutoSize : Boolean


property BevelInner :


property BevelOuter :


property BevelWidth :


property BorderStyle :


property BorderWidth :


property Color :


property Ctl3D :


property Cursor :


property DotsColor : TColor


property DragCursor :


property DragMode :


property Font :


property LeadingZero : Boolean


property ParentColor :


property ParentCtl3D :


property ParentFont :


property ParentShowHint :


property PopupMenu :


property ShowHint :


property ShowMode : TShowClock


property ShowSeconds : Boolean


property TwelveHour : Boolean


Events

event OnAlarm : TNotifyEvent


event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnMouseDown :


event OnMouseMove :


event OnMouseUp :


event OnResize :


event OnStartDrag :


Variables

FAlarm : TDateTime;


FAlarmEnabled : Boolean;


FAlarmWait : Boolean;


FAutoSize : Boolean;


FClockCenter : TPoint;


FClockRadius : Longint;


FClockRect : TRect;


FDisplayTime : TRxClockTime;


FDotsColor : TColor;


FLeadingZero : Boolean;


FOnAlarm : TNotifyEvent;


FShowMode : TShowClock;


FShowSeconds : Boolean;


FTimer : TRxTimer;

Private declarations

FTwelveHour : Boolean;



Constructors


constructor Create(AOwner: TComponent);

Public declarations

TRxClock


Functions


procedure SetAlarmTime(AlarmTime: TDateTime);


procedure UpdateClock;


procedure Alarm;

Protected declarations


procedure AlignControls(AControl: TControl; var Rect: TRect);


procedure CreateWnd;


procedure DestroyWnd;


procedure Loaded;

every second


procedure Paint;


procedure CheckAlarm;


procedure CircleClock(MaxWidth, MaxHeight: Integer);


procedure CMCtl3DChanged(var Message: TMessage);


procedure CMFontChanged(var Message: TMessage);

Skip this message, no repaint


procedure CMTextChanged(var Message: TMessage);


procedure DrawAnalogFace;


procedure DrawFatHand(Pos: Integer; HourHand: Boolean);


procedure DrawSecondHand(Pos: Integer);


function FormatSettingsChange(var Message: TMessage): Boolean;


function GetAlarmElement(Index: Integer): Byte;


function IsAlarmTime(ATime: TDateTime): Boolean;


procedure Paint3DFrame(var Rect: TRect);

shr 1


procedure PaintAnalogClock(PaintMode: TPaintMode);


procedure PaintTimeStr(var Rect: TRect; FullTime: Boolean);


procedure ResetAlarm;


procedure ResizeFont(const Rect: TRect);

FAlarmWait and


procedure SetAlarmElement(Index: Integer; Value: Byte);


procedure SetAutoSize(Value: Boolean);


procedure SetDotsColor(Value: TColor);

if FShowSeconds and (ShowMode = scAnalog) then DrawSecondHand(FDisplayTime.Second);


procedure SetLeadingZero(Value: Boolean);


procedure SetShowMode(Value: TShowClock);


procedure SetShowSeconds(Value: Boolean);


procedure SetTwelveHour(Value: Boolean);


procedure TimerExpired(Sender: TObject);


procedure WMTimeChange(var Message: TMessage);


Properties


property AlarmEnabled : Boolean


property AlarmHour : Byte


property AlarmMinute : Byte


property AlarmSecond : Byte


property Align :

Published declarations


property AutoSize : Boolean


property BevelInner :


property BevelOuter :


property BevelWidth :


property BorderStyle :


property BorderWidth :


property Color :


property Ctl3D :


property Cursor :


property DotsColor : TColor


property DragCursor :


property DragMode :


property Font :


property LeadingZero : Boolean


property ParentColor :


property ParentCtl3D :


property ParentFont :


property ParentShowHint :


property PopupMenu :


property ShowHint :


property ShowMode : TShowClock


property ShowSeconds : Boolean


property TwelveHour : Boolean


Events


event OnAlarm : TNotifyEvent


event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnMouseDown :


event OnMouseMove :


event OnMouseUp :


event OnResize :


event OnStartDrag :


Variables


FAlarm : TDateTime;


FAlarmEnabled : Boolean;


FAlarmWait : Boolean;


FAutoSize : Boolean;


FClockCenter : TPoint;


FClockRadius : Longint;


FClockRect : TRect;


FDisplayTime : TRxClockTime;


FDotsColor : TColor;


FLeadingZero : Boolean;


FOnAlarm : TNotifyEvent;


FShowMode : TShowClock;


FShowSeconds : Boolean;


FTimer : TRxTimer;

Private declarations


FTwelveHour : Boolean;