ActiveX: CalendX (Filnamn: SLXCAL.OCX)
| CalendX är en
internationell kalender
som visar en månad i taget. Kalendern kan hantera landspecifika helgdagar. Helgdagar visas med röd text, övriga dagar med svart text.
Kalendern har inbyggd logik för att själv beräkna när vissa västerländska
helgdagar inträffar, såsom exempelvis helgdagar runt påsk. Olika länder har
olika helgdagar och för att hantera detta på ett enkelt sätt använder
CalendX
sig av landsanpasssade externa datafiler (sk landsfiler) där alla helgdagar
för ett land är specificerade. Dessa landsfiler innehåller även namnen på
månader och veckodagar och annan landsspecifik information. Det följer med
landsfiler för Sverige, Norge, Danmark, Finland, Tyskland, Frankrike,
Spanien, Italien, England och USA med du kan även enkelt
skapa egna för ytterligare länder. Man kan bläddra fram och tillbaka en månad i taget genom att klicka på knapparna "<" och ">". För att visa sidan med nuvarande år och 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. I CalendX 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. Du kan även markera en hel vecka genom att klicka på veckonumret (eller till höger om dagarna ifall inga veckonummer används). Du kan också markera alla veckodagar med samma namn i en månad genom att klicka på veckodagsnamnet. Dubbelklickar du på en dag markeras hela månaden. En intern tabell håller reda på markeringarna och dess färger. Du kan markera upp till 2500 dagar. Förutom dessa markeringsmöjligheter kan du även ange egna färger för olika datum (dagnummer). |
||
![]() |
![]() |
![]() |
| Med svensk landsfil inladdad | Med italiensk landsfil inladdad | Med amerikansk landsfil inladdad |
| Not. Datatyperna nedan är angivna enligt VB 5/6 standard. I VB.NET miljö 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. ) . |
| AllowDblClkSelection | Boolean | Bestämmer om man ska kunna
markera en hel månad genom att dubbelklicka på en dag i månaden. True
medför att det är möjligt medan False hindrar att det sker. . |
| 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å. . |
| CountryFilePath | String | Returnerar sökväg till
aktuell landsfil för kalendern, dvs en extern datafil som innehåller
texter och information om helgdagar. Sökvägen till landsfilen specificeras
via metoden LoadCountryFile.
Mer information om landsfiler finns här. . |
| DateColorCount | Integer | Returnerar antal datum
i kalendern som tilldelats en egen färg. Kan endast avläsas och är endast tillgänglig under körning. . |
| HolidayTextColor | Color | Sätter ny textfärg för söndagar
och helgdagar i kalendern. Standardfärgen är mörkröd. . |
| Month | Integer | Sätter eller läser aktiv månad i
kalendern. . |
| NameOfMonths | String | Specifierar namnen på de 12
månader som visas i kalendern. Månadsnamnen ska anges med ett komma mellan
varje namn. Standardvärdet för textsträngen är: "January, February, March, April, May, June, July, August, September, October, November, December" . |
| NameOfWeekdays | String | Specifierar namnen på de 7
veckodagsrubriker som visas i kalendern. Namnen ska anges med ett komma
mellan varje namn. Lämpligtvis används de två första bokstäverna i varje
veckodagsnamn eftersom fler bokstäver inte syns pga det begränsade utrymmet.
Standardvärdet för textsträngen är: "Mo, Tu, We, Th, Fr, Sa, Su" . |
| 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. Markeringsfärgen som specificeras via denna egenskap används
när användaren klickar på ett datum med musen. . |
| SelCount | Integer | Returnerar antal markeringar i kalendern. Kan endast avläsas och är endast tillgänglig
under körning. . |
| SelDay | Integer | Returnerar dagnummer för det
datum som senast markerades. . |
| SelMonth | Integer | Returnerar månadsnummer för det
datum som senast markerades. . |
| SelWeekNr | Integer | Returnerar veckonummer för det
datum som senast markerades. . |
| SelYear | Integer | Returnerar årtal för det datum
som senast markerades. . |
| ShowButtons | Boolean | Bestämmer om bläddringsknapparna "<" och ">" ska synas på kalendern
eller inte. 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 helgdagar (förutom söndagar) ska visas med röd textfärg i almanackan
eller inte. Är värdet
False visas helgdagar med svart textfärg (precis 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 helgdag (röd dag) eller dagens datum.
Är datumet en helgdag visas namnet på den dagen i en liten textruta. Befinner sig muspekaren över dagens datum
visas dagens datum i tipsrutan. . |
| ShowWeekNumbers | Boolean | Anger om kalendern ska visas med
veckonummer eller inte. Sätts denna egenskap till True visas
veckonummer, sätts egenskapen till False visas inga veckonummer. . |
| SundayFirst | Boolean | Anger om den första veckodagen
ska vara en Söndag eller en Måndag. Sätts denna egenskap till True
blir första veckodagen en Söndag. Sätts den till False blir
första veckodagen en Måndag. . |
| 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 |
| DateChanged | Denna händelse aktiveras när användaren
byter månad i kalendern. Egenskapen Month kan avläsas för att erhålla
aktuell månad. . |
| DateSelected | Denna händelse aktiveras när
användaren markerar ett eller flera datum i kalendern genom att klicka med
musen (vänster musknapp). . |
| DateDeselected | Denna händelse aktiveras när
användaren avmarkerar ett eller flera datum i kalendern genom att klicka med
musen (höger musknapp). . |
Metoder
GetSelColor (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.
SetSelColor (Year As
Integer, Month As Integer, Day As Integer, Color As Long) RemoveSelColor (Year As Integer, Month As
Integer, Day As Integer) As Boolean
RemoveAllSelections
() GetDateColor (Year
As Integer, Month As Integer, Day As Integer) As Long SetDateColor (Year
As Integer, Month As Integer, Day As Integer, Color As Long) RemoveDateColor
(Year As Integer, Month As
Integer, Day As Integer) As Boolean RemoveAllDateColors
() GetDateType
(Year As Integer, Month As Integer, Day As Integer) As Integer LoadCountryFile (sFilename As
String) As Boolean |
| Vid felaktiga datum Metoderna GetSelColor, GetDateColor och GetDateType returnerar -1 och metoderna RemoveSelColor och RemoveDateColor returnerar False om ett specificerat datum är ogiltigt. Övriga metoder utför ingen åtgärd och återvänder omedelbart om ett angivet datum är ogiltigt. |
Exempel 1
Följande exempel markerar de tre första dagarna i juli 2006 med röd
färg.
CalendX1.AllowMultiSelection = True
' Tillåt flerfärgsmarkeringar
CalendX1.SetSelColor 2006, 7, 1, RGB(255, 0, 0) '
Markera 2006-07-01
CalendX1.SetSelColor 2006, 7, 2, RGB(255, 0, 0) '
Markera 2006-07-02
CalendX1.SetSelColor 2006, 7, 3, RGB(255, 0, 0) '
Markera 2006-07-03
Exempel 2
Följande exempel sätter datumfärgen (färgen på dagnumret) för de två första
dagarna i augusti 2006 till blå.
CalendX1.SetDateColor 2006, 7, 1,
RGB(0, 0, 255) '
Ändra färg för 2006-07-01
CalendX1.SetDateColor 2006, 7, 2, RGB(0, 0, 255) '
Ändra färg för 2006-07-02
Exempel 3
Följande exempel läser in en amerikansk landsfil till kalendern.
Dim bSt As Boolean
bSt = CalendX1.LoadCountryFile("C:\VBSL2007\CountryFiles\USA.cty")
![]()