ActiveX: Calend      (Filnamn: SLCALEND.OCX)
 

    
          
 
Calend
är en liten kalender varifrån man väljer datum med hjälp av musen. 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 månadsvis genom att klicka på knapparna "<" och ">". För att få fram nuvarande månad 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 Calend 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.

Datatyperna nedan är angivna enligt VB 6.0 standard. I VB.NET ska Integer ersättas med Short (16 bitar) och Long ersättas med Integer (32 bitar).
 
 
Egenskaper
 
Namn Datatyp Beskrivning
AccessMode Integer 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 Boolean 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 Boolean 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.
.
BackColor Color Sätter ny bakgrundsfärg för kalendern. Standardfärgen är ljusgrå.
 .
Month Integer Sätter eller läser aktiv månad i kalendern. Den aktiva månaden är den månad som visas visuellt i kalendern.
.
RemoveAllSelections Boolean 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 Color 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 Integer Returnerar antal markeringar i kalendern. Kan endast avläsas och är endast tillgänglig under körning.
.
SelDay Integer 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:

 Calend1.SelYear = 1999
 Calend1.SelMonth = 12
 Calend1.SelDay = 24     ' Använd denna egenskap alltid sist
..
SelMonth Integer Sätter eller läser markerad månad.
.
SelOperation Integer 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 Integer Returnerar veckonummer för ett markerat datum. Denna egenskap kan endast läsas.
.
SelYear Integer Sätter eller läser markerat år.
.
ShowButtons Boolean 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 Boolean 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 Boolean 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 Boolean 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 Integer Sätter eller läser aktivt år i kalendern.
.
Left, Top Integer Sätter X- resp. Y-position för kalendern.
.
Height, Width Integer Sätter höjd och bredd för kalendern.
.
Visible Boolean Anger om kalendern ska vara synlig eller osynlig.
.
 
 
Händelser
 
Namn Beskrivning
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.
.
NextMonth Denna händelse aktiveras när användaren klickar på knappen ">" för att byta till nästa månad. Egenskaperna Month och Year kan avläsas för ta reda på aktiv månad och aktivt år.
.
PrevMonth Denna händelse aktiveras när användaren klickar på knappen "<" för att byta till föregående månad.
.
ThisMonth Denna händelse aktiveras när användaren dubbelklickar på utrymmet mellan knapparna "<" och ">" för att visa nuvarande månad.
.
WeekSelected Denna händelse aktiveras när användaren markerar en hel vecka på en gång (genom att klicka på veckonumret).
.
 
 
Metoder
 

ClearAllSelections ()

Avlägsnar alla markeringar i kalendern.

GetSelDateColor (Year As Integer, Month As Integer, Day As Integer) As Long

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

SetSelDate (Year As Integer, Month As Integer, Day As Integer)

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 2009 med röd färg.

Calend1.AllowMultiSelection = True  ' Tillåt flerfärgsmarkeringar
Calend1.SelColor = RGB(255, 0, 0)   ' Sätt markeringsfärg till rött
Calend1.SetSelDate 2009, 7, 1       ' Markera 2009-07-01
Calend1.SetSelDate 2009, 7, 2       ' Markera 2009-07-02
Calend1.SetSelDate 2009, 7, 3       ' Markera 2009-07-03

  
  

SamLogic