home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1999 January
/
Chip_1999-01_cd.bin
/
zkuste
/
delphi
/
D1
/
GCAL.ZIP
/
readme.txt
< prev
Wrap
Text File
|
1997-02-10
|
8KB
|
205 lines
TGregCalendar
=============
Version 1.06 (20 December 1996)
Freeware for Delphi 1.0 and 2.0
Copyright (c) 1996 Greg Lief
----------------------------------------------------------------------------
1. Description
2. Installation
3. New Properties
4. New Method
5. New Event
6. Copyright Notice
7. Disclaimer
8. Technical Support
9. Revision History
10. Comments
----------------------------------------------------------------------------
1. Description
==============
Delphi includes a nice calendar component (TCalendar) on the Samples
component page. Although it handles much of the grunt work for us,
TCalendar has some glaring deficiencies, the biggest of which is the
user's inability to navigate beyond the currently displayed month.
Plugging that hole was the original intent of the TGregCalendar
component, which includes a customized KeyDown method that handles the
following keys: PgUp, PgDn, Ctrl-PgUp, Ctrl-PgDn, arrows. (The user can
also right-click upon the calendar to navigate by month and year.)
However, I have also added some other niceties, including the ability to
change the color for the selected date and attach a label which will
display the current month and year. There is a built-in popup menu which
allows the user another way to navigate through the calendar. You can
also display the current month and year in the caption of the form upon
which the calendar resides (via the UseFormCaption property). Last, but
far from least, you can also designate "special days", which can display
icons or bitmaps and have associated text.
2. Installation
===============
A. Choose the Component | Install menu option (or if you are using
Delphi 1.0, the Options | Install Components menu option).
B. Click upon the Add Button, and select either GCAL16.DCU (Delphi 1) or
GCAL32.DCU (Delphi 2).
C. Press OK twice.
D. After your component library is recompiled, you will find a new
tab entitled "Greg Lief", with the TGregCalendar icon upon it.
The included DEMO.ZIP file contains a sample project that uses
TGregCalendar, along with several supporting icons and bitmaps.
3. New Properties
=================
Except as noted, all properties are available at design-time.
Caption -- This is a TLabel component which, if used, will be updated
with the current calendar month and year as the user navigates.
CenterDates -- This dictates whether or not to center the dates within
each cell. If you set this to False, the dates will be displayed in
the lower-right corner of the cells, which I feel is preferable when
you are using special days (see below).
CloseOnDoubleClick -- If set to True, a double-click upon the calendar
will cause the form upon which it resides to close. This is ideal when
you are using the calendar in a pop-up date entry dialog.
Menu -- If you plug a menuitem into this property, the navigation items
on the popup menu will be added to that menuitem. This is useful if you
want to the user to be able to navigate within the menu from an existing
menu.
SelectedBGColor -- This color will be used to draw the background
of the currently selected date cell. The default is clHighlight.
SelectedFGColor -- This color is used to draw the currently selected
date (i.e., the number). The default is clWhite.
SpecialDays (run-time only) -- This is a list of special days. Each
special day can have an attached icon or bitmap, as well as descriptive
text. As written, the text will be displayed to the user in the
form of the calendar's Hint property. (See the AddSpecialDay method
below for instructions on how to create special days.)
UseFormCaption -- If set to True, the current calendar month and year
will be continuously updated in the caption of the form upon which the
calendar resides. This can be used in conjunction with the Caption
property, although I cannot imagine why you would need both of them.
4. New Method
=============
AddSpecialDay -- Use this method to create special days. It accepts three
parameters:
1. A TDateTime variable representing the desired date ;
2. A string containing the name of the .ICO or .BMP file to display for
that date.
3. A string containing additional descriptive information about that
date. If used, this will be available to the user in the form
of the calendar's Hint property.
5. New Event
============
OnChangeMonth -- this is called whenever the user crosses a month
boundary navigating within the calendar. This hook is provided in case
the Caption or UseFormCaption properties are not sufficient for your
particular situation.
6. Copyright Notice
===================
This component is fully functional. My copyright notice will appear
when you drop it upon a form at design-time, but that will not occur at
run-time.
7. Disclaimer
=============
It is unfortunate that we live in a litigous society in which the
lawyers are generally the only winners. However, that makes the
following verbiage necessary:
"THE CODE FOR THIS COMPONENT IS PROVIDED TO YOU AS IS BY ITS AUTHOR,
GREG LIEF. THE AUTHOR HAS TESTED THE COMPONENT AND FEELS THAT IT WORKS
AS BILLED, BUT MAKES ABSOLUTELY NO GUARANTEES OR WARRANTEES OF ANY KIND.
IN OTHER WORDS, YOU ARE USING THIS ENTIRELY AT YOUR OWN RISK. NEITHER
THE AUTHOR NOR ANY OTHER ORGANIZATION WILL BE HELD RESPONSIBLE FOR ANY
DIRECT OR INDIRECT DAMAGE RESULTING FROM THE USE OF EITHER THIS
COMPONENT OR ANY DERIVATIVES THEREOF."
8. Technical Support
====================
The reason I am making this component available as freeware because I
feel that it will be of use to other Delphi developers. However, always
remember the old maxim "you get what you pay for". In other words, do
not get carried away by expecting technical support, because you will be
sadly disappointed.
9. Revision History
===================
Dec 20, 1996 -- added Menu property (thanks Keith!)
Dec 19, 1996 -- substituted SelectedColor property with SelectedBGColor
and SelectedFGColor properties for greater control
Dec 07, 1996 -- added "System Date" option to integrated popup menu
Dec 06, 1996 -- added support for Home and End keys to jump to first and
last days of current month
Nov 06, 1996 -- a) added pop-up menu to move by month/year and show
description for special days
b) attached label was not being redisplayed if CalendarDate
property was changed programmatically. Fixed.
Sep 12, 1996 -- removed logic which shrunk the column headings
Sep 09, 1996 -- initial public release
10. Comments
============
If you find this component useful, I would appreciate hearing from you
via e-mail (greglief@teleport.com).
I would also greatly appreciate your taking the time to evaluate the
Delphi Object Lessons technical journal, for which I serve as Executive
Editor. More information and a sample issue are available at URL
http://www.teleport.com/~ol/djournal.shtml.
If you would like to learn how to create your own components, you should
strongly consider the Delphi Training Tour component creation seminar,
designed by yours truly. For more information, visit URL
http://www.teleport.com/~ol/dtt.shtml.
The most updated version of this component can always be found at my
personal web site (http://www.teleport.com/~greglief).
*** over and out ***