HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

CalendarControl ActiveX komponens


Példaprogram letöltése

5227 bájt

Ebben a példában nem saját komponenst készítünk, hanem egy ActiveX control importálását és használatát mutatjuk be. A komponens a Microsoft CalendarControl ActiveX komponense, amit felhasználhatunk saját alkalmazásainkban a MonthCalendar komponens helyett. Ez többek között azért jó, mert a CalendarControl komponenst akár adatbázishoz is kapcsolhatjuk ellentétben a MonthCalendar komponenssel.

A mellékelt példaprogram megnyitása előtt importálni kell a CalendarControl Type Library-ját. Ehhez válasszuk ki a Project menü Import Type Library menüpontot. A listából válasszuk ki a Microsoft Naptár Vezérlőelem (Microsot Calendar Control) elemet. A Class Names mezőben a TCalendar nevet írjuk át TMSCalendar-ra. Alul a Generate Component Wrapper kapcsolót kapcsoljuk be, majd kattintsunk az Install gombra. Ezután minden úgy történik, mintha egy komponenst telepítenénk (azt is tesszük), tehát adjuk meg a .dpk fájl nevét, és kattintsunk az OK gombra.
A fentieken kívül szükség van a Delphi példa adatbázisaira, azok közül is az Employee.db táblára, amelyet a DBDEMOS alias alatt találhatunk meg.
BackColor
Osztály: TMSCalendar
property BackColor: TColor;
Ez a property a komponens háttérszínét határozza meg.
Day
Osztály: TMSCalendar
property Day: Smallint;
A beállított dátum napjának száma. Ha például a beállított nap 2002. január 1, akkor a property értéke 1.
DayFont
Osztály: TMSCalendar
property DayFont: TFont;
A napok betűtípusa. A betűtípust nem tudjuk közvetlenül az Object Inspector-ban beállítani, ezért ha ezt szeretnénk tenni, akkor kattintsunk a jobb gombbal a komponensen, és válasszuk a Tulajdonságok menüpontot. Itt sok más egyéb mellett a betűtípusokat is megadhatjuk.
DayFontColor
Osztály: TMSCalendar
property DayFontColor: TColor;
A napok betűtípusának színe. Ezt a tulajdonságot nem adhatjuk meg a Tulajdonságok ablakban a betűtípus többi jellemzője mellett.
DayLength
Osztály: TMSCalendar
property DayLength: Smallint;
A napok megjelenítésének módját határozza meg ez a komponens. Három lehetséges beállítási lehetőség közül választhatunk: rövid (0), közepes (1), és hosszú (2).
FirstDay
Osztály: TMSCalendar
property FirstDay: Smallint;
A hét első napjának számát adja meg ez a property, vagyis azt, hogy melyik nap számít a hét első napjának. A lehetséges értékek a következők:
  • 1, vagy annál kisebb szám: vasárnap;
  • 2: hétfő;
  • 3: kedd;
  • 4: szerda;
  • 5: csütörtök;
  • 6: péntek
  • 7, vagy annál több: szombat
GridCellEffect
Osztály: TMSCalendar
property GridCellEffect: Integer;
A rács típusát határozza meg ez a property. Értékei a következők lehetnek: sima (0), domború (1), homorú (2).
GridFont
Osztály: TMSCalendar
property GridFont: TFont;
A rácsban megjelenő számok betűtípusát adhatjuk meg ebben a property-ben, hasonlóan a DayFont property-hez.
GridFontColor
Osztály: TMSCalendar
property GridFontColor: TColor;
A rácsban megjelenő számok színe. Ez csak az aktív hónap napjaira vonatkozik, az előző és a következő hónap napja szürkített színnel jelenik meg.
GridLinesColor
Osztály: TMSCalendar
property GridLinesColor: TColor;
A rácsvonalak színét adhatjuk meg ebben a property-ben. Ez csak akkor lesz érvényes, ha a rács típusa sima (lásd GridCellEffect property).
Month
Osztály: TMSCalendar
property Month: Smallint;
Az aktuális dátumból a hónap értéke.
MonthLength
Osztály: TMSCalendar
property MonthLength: Smallint;
A hónap kiírásának hosszát határozza meg ez a property. A hossz kétféleképpen adható meg: rövid (0), hosszú (2).
ShowDateSelectors
Osztály: TMSCalendar
property ShowDateSelectors: WordBool;
Ha ennek a property-nek az értéke igaz, akkor a hónap évszám kiválasztását lehetővé tevő ComboBox-ok megjelennek a jobb felső sarokban. Ellenkező esetben ezek a ComboBox-ok nem látszanak, az aktuális hónap és év felirat pedig középre igazítva jelenik meg.
ShowDays
Osztály: TMSCalendar
property ShowDays: WordBool;
Ha a property értéke igaz, akkor a hónap rács fejléceként megjelennek a napok nevei.
ShowHorizontalGrid
Osztály: TMSCalendar
property ShowHorizontalGrid: WordBool;
Ha a rács típusa sima (lásd GridCellEffect property), akkor ezzel a property-vel megadhatjuk, hogy a vízszintes rácsvonalak látszódjanak-e. Ha a property értéke igaz, akkor látszanak a vízszintes vonalak, ellenkező esetben nem.
ShowTitle
Osztály: TMSCalendar
property ShowTitle: WordBool;
Ha a property értéke igaz, akkor megjeleníti az aktuális hónapot és évszámot, ellenkező esetben pedig nem.
ShowVerticalGrid
Osztály: TMSCalendar
property ShowVerticalGrid: WordBool;
Ha a rács típusa sima (lásd GridCellEffect property), akkor ezzel a property-vel megadhatjuk, hogy a függőleges rácsvonalak látszódjanak-e. Ha a property értéke igaz, akkor látszanak a függőleges vonalak, ellenkező esetben nem.
TitleFont
Osztály: TMSCalendar
property TitleFont: TFont;
Az aktuális hónap és évszám felirat betűtípusát adhatjuk meg ebben a property-ben. Szerkesztési időben a DayFont property-hez hasonlóan.
TitleFontColor
Osztály: TMSCalendar
property TitleFontColor: TColor;
Az aktuális hónap és évszám felirat színe.
ValueIsNull
Osztály: TMSCalendar
property ValueIsNull: WordBool;
Ha nincs meghatározott dátum beállítva, akkor ennek a property-nek az értéke igaz, ellenkező esetben pedig hamis.
Year
Osztály: TMSCalendar
property Year: Smallint;
Az aktuális dátum évszáma.
ControlInterface
Osztály: TMSCalendar
property ControlInterface: ICalendar;
Az ActiveX control ICalendar típusú interfész objektumához férhetünk hozzá ezen a property-n keresztül.
Value
Osztály: TMSCalendar
property Value: OleVariant;
Ebben a property-ben adhatjuk meg, illetve ebből olvashatjuk ki az aktuálisan beállított dátumot.
OnBeforeUpdate
Osztály: TMSCalendar
property OnBeforeUpdate: TMSCalendarBeforeUpdate;
A frissítés előtt jön létre ez az esemény. Ha a Cancel paraméter értékét 0-nál különböző értékre állítjuk, akkor a módosítás nem történik meg.
OnAfterUpdate
Osztály: TMSCalendar
property OnAfterUpdate: TNotifyEvent;
A frissítés után jön létre ez az esemény.
OnNewMonth
Osztály: TMSCalendar
property OnNewMonth: TNotifyEvent;
Ez az esemény akkor jön létre, amikor az új dátum hónapja nem egyezik meg az előző dátum hónapjával.
OnNewYear
Osztály: TMSCalendar
property OnNewYear: TNotifyEvent;
Ez az esemény akkor jön létre, amikor az új dátum évszáma nem egyezik meg az előző dátum évszámával.
NextDay
Osztály: TMSCalendar
procedure NextDay;
Az eljárás az aktuális dátumot növeli egy nappal.
NextMonth
Osztály: TMSCalendar
procedure NextMonth;
Az aktuális dátumot növeli egy hónappal.
NextWeek
Osztály: TMSCalendar
procedure NextWeek;
Az aktuális dátumot növeli egy héttel.
NextYear
Osztály: TMSCalendar
procedure NextYear;
Az aktuális dátumot növeli egy évvel.
PreviousDay
Osztály: TMSCalendar
procedure PreviousDay;
Az aktuális dátumot csökkenti egy nappal.
PreviousMonth
Osztály: TMSCalendar
procedure PreviousMonth;
Az aktuális dátumot csökkenti egy hónappal.
PreviousWeek
Osztály: TMSCalendar
procedure PreviousWeek;
Az aktuális dátumot csökkenti egy héttel.
PreviousYear
Osztály: TMSCalendar
procedure PreviousYear;
Az aktuális dátumot csökkenti egy évvel.
Today
Osztály: TMSCalendar
procedure Today;
Az aktuális dátum a rendszerdátum lesz.
A bevezetőben arról is esett szó, hogy ezt a komponenst hozzákapcsolhatjuk egy tetszőleges adatbázis dátum/idő típusú mezőjéhez. Ez azért lehetséges, mert a komponens a TDBOleControl osztályból van származtatva, így rendelkezik két olyan property-vel, amivel az adatbázis kapcsolódást létrehozhatjuk. Az egyik ilyen property a DataSource, amelyben egy TDataSource komponenst adhatunk meg. Ez ugyanúgy történik, mint a többi adatbázis komponensnél. A szokásos DataField property viszont hiányzik, így a mező megadását máshogyan kell megadnunk. Ezt a DataBindings property-n keresztül tehetjük meg úgy, hogy előbb megadjuk a DataSource property-ben a megfelelő TDataSOurce komponenst, majd a DataBindings property szerkesztőjében (amit a komponens menüjéből is elindíthatunk) hozzárendeljük az adatbázis tábla mezőjét a Value property-hez. Ezzel az adatbázis kapcsolatot létre is hoztuk, innentől kezdve a beállított dátum beíródik az adatbázis mezőbe, illetve a komponens az adatbázis mező dátum/idő értékét jeleníti meg.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 203. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |