ActiveX: Calend12Mon      (Filnamn: SL12MON.OCX)

 

Calend12Mon är en kalender som visar ett år i taget. Calend12Mon fungerar annars ungefär som kontrollen Calend. Kalendern är helt svenskanpassad och visar veckonummer, veckodagar och svenska helgdagar. Helgdagar visas med röd textfärg. 

Man kan bläddra fram och tillbaka halvårsvis genom att klicka på knapparna "<" och ">". För att få fram dagens datum dubbelklickar man på utrymmet mellan knapparna. Man väljer ett datum genom att klicka med vänster musknapp över datumet. Det valda datumet kommer att visas inramad. En möjlighet att spärra mot markering av lördagar och helgdagar finns. Viktiga helger och specialdagar kan visas med tipstext när användaren för muspekaren över detta datum.

I Calend12Mon kan du välja mellan att endast tillåta markering av ett datum i taget eller att tillåta markering av flera olika datum samtidigt. I det sistnämnda fallet kan du även välja färg för en markering. Du kan avmarkera ett datum genom att klicka över den med höger musknapp. En intern tabell håller reda på markeringarna och dess färger. Du kan markera upp till 1500 dagar.

Klicka här för att se en bild på kalendern.


Egenskaper

Namn Datatyp Beskrivning
AccessMode short Specificerar vilken typ av dagar som ska kunna markeras i kalendern. Egenskapen kan ha en av följande värden:

   0 - NoRestrictions   ( Inga restriktioner. Alla datum kan markeras. )
   1 - PreventSatHol    ( Endast vardagar kan markeras, ej lördagar och helgdagar ).
   2 - PreventHol         ( Endast vardagar och lördagar kan markeras, ej helgdagar. )
.
AllowMultiSelection BOOL Bestämmer om man ska kunna markera flera datum i kalendern eller ej. TRUE medför att man kan markera flera datum. FALSE medför att man endast kan markera ett datum i taget. Om flera datum ska markeras kan varje markering få en egen färg. Färgen för en markering sätts via egenskapen SelColor.
.
AllowSelection BOOL Bestämmer om man ska kunna välja datum med musen eller ej. TRUE medför att man kan välja datum. FALSE medför att man endast kan bläddra i kalendern och ingen markering kommer att synas.
.
RemoveAllSelections BOOL Avlägsnar alla markeringar i kalendern om egenskapen sätts till TRUE. Alternativt kan metoden ClearAllSelections användas. Se en beskrivning av denna metod längre ned på sidan.
.
SelColor unsigned long Anger eller returnerar markeringsfärg. Egenskapen AllowMultiSelection måste ha värdet TRUE för att denna egenskap ska kunna användas. SelColor ignoreras om AllowMultiSelection har värdet FALSE.
 .
SelCount short Returnerar antal markeringar i kalendern. Kan endast avläsas och är endast tillgänglig under körning. 
.
SelDay short Sätter eller läser markerad dag. Det markerade datumet kommer att ha en 3D-ram runt sig. 

Om användaren markerar ett datum (genom att klicka över den med musen) kommer händelsen DateSelected att inträffa. Genom att läsa av SelDay, SelMonth och SelYear kan man avläsa detta datum. 

Om AllowMultiSelection är TRUE ska den här egenskapen alltid sättas/avläsas efter användning av SelYear och SelMonth, annars kan fel datum sättas/avläsas. Se egenskapen SelOperation för mer information. Ex:

 Calend12Mon.SetSelYear(1999);
 Calend12Mon.SetSelMonth(12);
 Calend12Mon.SetSelDay(24);    // Sätt denna egenskap alltid sist
.
SelMonth short Sätter eller läser markerad månad. 
.
SelOperation short Specificerar hur egenskaperna SelYear, SelMonth, SelDay och SelColor ska användas i kalendern. Du kan välja mellan att sätta datummarkering, avläsa datummarkering eller ta bort en datummarkering. SelOperation kan endast användas om AllowMultiSelection har värdet TRUE. Den här egenskapen kan ha en av följande värden:

0 - SetDate        (sätter markeringsdatum till SelYear-SelMonth-SelDay)
1 - GetDate        (läser markeringsfärg för datumet SelYear-SelMonth-SelDay)
2 - RemoveSel   
(avmarkerar datumet SelYear-SelMonth-SelDay)

För mer information om hur man använder denna egenskap, klicka här.
.
SelWeekNr short Returnerar veckonummer för ett markerat datum. Denna egenskap kan endast läsas.
.
SelYear short Sätter eller läser markerat år. 
.
ShowButtons BOOL Bestämmer om bläddringsknapparna "<" och ">" ska synas på kalendern. Har ShowButtons värdet FALSE kommer knapparna ej att visas och byte av månad med hjälp av musen är inte möjlig. Även möjligheten att dubbelklicka fram nuvarande månad är avstängd. Har ShowButtons värdet TRUE syns knapparna och användaren kan byta månad genom att klicka på knapparna. 
.
ShowHolidays BOOL Bestämmer om svenska helgdagar (förutom söndagar) ska visas med röd textfärg i almanackan. Är värdet FALSE visas helgdagar med svart textfärg (som vardagar). Är värdet TRUE visas helgdagar med röd textfärg. 
.
ShowMultiSelectionsOnly BOOL Anger om flerfärgsmarkeringar endast ska visas men inte får ändras. Sätts denna egenskap till TRUE kan flerfärgsmarkeringar visas i kalendern men användaren kan inte markera några egna. 
.
ShowTips BOOL Anger om tipstext ska visas när användaren för muspekaren över en helg, specialdag eller dagens datum. Är datumet en helg eller en specialdag visas namnet på den dagen i en liten textruta (tex "Julafton"). Befinner sig muspekaren över dagens datum visas dagens datum i tipsrutan (tex "1999-07-29"). 
.
Year short Sätter eller läser aktivt år i kalendern. 
.
Left, Top short Sätter X- resp. Y-position för kalendern.
.
Height, Width short Sätter höjd och bredd för kalendern.
.
Visible BOOL Anger om kalendern ska vara synlig eller osynlig.
.


Händelser

Namn Beskrivning
DateChanged Denna händelse aktiveras när användaren byter startmånad eller år. Egenskaperna StartMonth och Year kan avläsas för att erhålla aktuella värden.
.
DateSelected Denna händelse aktiveras när användaren markerar ett datum i kalendern genom att klicka på den med musen. Se egenskapen SelDay för mer information.
.


Metoder 


void ClearAllSelections(); 

Avlägsnar alla markeringar i kalendern.

unisgned long GetSelDateColor(short Year, short Month, short Day);

Returnerar markeringsfärg vid datumet Year-Month-Day (år-månad-dag) i kalendern. 

void SetSelDate(short Year, short Month, short Day);

Markerar datumet Year-Month-Day (år-månad-dag) i kalendern. Som markeringsfärg används värdet i egenskapen SelColor.
.


Exempel 

Följande exempel markerar de tre första dagarna i Juli-99 med röd färg. 


Calend12Mon.SetAllowMultiSelection(TRUE);  // Tillåt flerfärgsmarkeringar
Calend12Mon.SetSelColor(RGB(255, 0, 0));   // Sätt markeringsfärg till rött
Calend12Mon.SetSetSelDate(1999, 7, 1);     // Markera 1999-07-01
Calend12Mon.SetSetSelDate(1999, 7, 2);     // Markera 1999-07-02
Calend12Mon.SetSetSelDate(1999, 7, 3);     // Markera 1999-07-03