home *** CD-ROM | disk | FTP | other *** search
-
- Definition of Class LEDDigit
-
- LEDDigit is derived from TWindow, and represents an LED Digit within
- a LEDWindow object.
-
-
- Data Member:
-
- HBITMAP hCurrentLEDBmp;
-
- hCurrentLEDBmp is a handle to a bitmap resource which contains the
- bitmap of the LED digit that is currently displayed by this LEDDigit
- object.
-
-
- Member functions:
-
- constructor
-
- LEDDigit( PTWindowsObject AParent, int DigitXLoc, BOOL bSurround,
- HBITMAP hLEDBmp );
-
- Constructs a LEDDigit object within the parent window (AParent),
- at X offset DigitXLoc. If bSurround is TRUE, the X and Y locations
- of this object within the parent are modified to account for the
- pixels used by the surround (DigitXLoc also changes). hLEDBmp is
- the handle of the initial LED bitmap to be displayed by this object.
-
- UpdateDigit
-
- void UpdateDigit( HBITMAP hLEDBmp );
-
- Updates the current LED bitmap to be displayed (hLEDBmp).
-
- Paint
-
- virtual void Paint( HDC PaintDC, PAINTSTRUCT _FAR &PaintInfo );
-
- Paints (with a BitBlt) the current digit in the LEDDigit window.
-
- ----------------------------------------------------------------------------
-
- Definition of Class LEDWindow
-
- Data Members:
-
- HBITMAP hLEDBmp[11];
-
- An array of handles for the bitmaps of the LED digits 0 - 9 and :.
-
- BOOL bTimerActive;
-
- If TRUE, a timer has been started for the window, and Tick will be
- called every nTimerInterval seconds.
-
- BOOL bSurroundExists;
-
- If TRUE, a chisled surround is required by this LEDWindow.
-
- BOOL bClockWindow;
-
- If TRUE, this is an HH:MM:SS clock. In which case the LEDWindow is
- 8 digits long and is displayed using localtime to convert from date
- (seconds since 1 Jan 1970) to HH:MM:SS.
-
- BOOL bLEDCreated;
-
- A first-time switch used by the constructor to tell SetUpLEDs not to
- bother to invalidate the LEDDigits this time.
-
- LONG lLEDValue;
-
- The current value of this LEDWindow, either a LONG integer, or a time
- (which equates to LONG).
-
- struct tm *tmLEDValue;
-
- Time structure used to format times into HH:MM:SS for display.
-
- int nOldDigit[10];
-
- The 'old' contents of the various LED digits, used by SetUpLEDS to
- determine which LEDs to invalidate for display.
-
- int nMaxDigits;
-
- The maximum number of digits that this LEDWindow can display. There is
- no supression of leading zeros in an LEDWindow, so nMaxDigits is also
- the actual number of digits displayed.
-
- int nTimerInterval;
-
- The time in seconds between Ticks (WM_TIMER messages) for this LEDWindow.
- Must be 0 (no timer) or between 1 and 60. No sub-second times are catered
- for.
-
- int nDigitStart;
-
- The start (X) location of digits within this LEDWindow.
-
- int nRow, nCol;
-
- The row and column offset of this LEDWindow within the parent window.
-
- LEDDigit *hLED[10];
-
- An array of handles to the LEDDigit objects which are children of this
- LEDWindow.
- Note: LEDDigits are right to left: *hLED[0] (and nOldDigit[0]) is
- the right-most (ones) digit.
-
-
- Member functions:
-
- constructor
-
- LEDWindow( PTWindowsObject AParent, int x, int y,
- int nDigits, BOOL bSurround, BOOL bClock, LONG lValue );
-
- Creates an LEDWindow within parent AParent at row x, column y. The
- LED has nDigits numerals. If bSurround is true, a chiseled surround
- is drawn around the number. If bClock is TRUE, the LED is an HH:MM:SS
- clock. lValue contains the time or number to be displayed by this LED.
-
- destructor
-
- ~LEDWindow( void );
-
- Cleans up by destroying the bitmaps loaded in the constructor.
-
- void GetWindowClass(WNDCLASS& AWndClass);
-
- Modifies the standard TWindow class definition to include a GRAY
- background.
-
- void DisplayNumber( LONG lValue );
-
- Displays lValue in the LED. If bClock is true, adds 18000 to lValue
- if it is less than 1 'day' (86400 seconds) to prepare it for processing
- by the localtime function.
-
- BOOL StartTimer( int nInterval );
-
- Starts a windows timer for the LEDWindow with an interval of nInterval
- seconds.
-
- void StopTimer( void );
-
- Stops a timer for a LEDWindow (if one is active).
-
- void SetupLEDs( void );
-
- Decides which LEDs must be changes to reflect an updated lLEDValue.
- Selects the appropriate bitmap and passes it to the LEDDigit.
-
- virtual void Tick( RTMessage Msg ) = [WM_TIMER];
-
- Called once for every WM_TIMER message sent to his LEDWindow. Adds one
- to lLEDValue for each tick.
-
- virtual void Paint(HDC PaintDC, PAINTSTRUCT&);
-
- Paints the LEDWindow surround (if required).
-
- ----------------------------------------------------------------------------
-