ActiveX: CalendX12Mon
(Filnamn: SLX12MON.OCX)
CalendX12Mon
är en internationell kalender som visar ett helt år i taget. Funktionaliteten
i CalendX12Mon är annars ungefär som i CalendX. 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 CalendX12Mon
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
i kalendern helårsvis genom att klicka på knapparna "<" och ">".
För att visa sidan med nuvarande år 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 CalendX12Mon 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 strax till vänster om den första dagen i en vecka.
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). |
|
Klicka här för bilder på kalendern |
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. )
. |
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.
. |
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.
. |
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 år. Egenskapen Year kan avläsas
för att erhålla aktuellt år.
. |
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)
Markerar datumet
Year-Month-Day
(år-månad-dag) i kalendern. Ifall egenskapen
AllowMultiSelection är satt till
True specificerar Color den markeringsfärg
som ska användas. Är AllowMultiSelection
satt till False ignoreras inparametern
Color och det markerade datumet får
en 3D-ram runt sig.
RemoveSelColor
(Year As
Integer, Month As Integer, Day As Integer) As Boolean
Avlägsnar markeringen vid
datumet Year-Month-Day
(år-månad-dag) i kalendern. Returnerar True om allt gått
bra eller False vid fel.
RemoveAllSelections
()
Avlägsnar alla markeringar
i kalendern.
GetDateColor
(Year As
Integer, Month As Integer, Day As Integer) As Long
Returnerar färg för datumet
Year-Month-Day
(år-månad-dag) i kalendern. Funktionen returnerar -1 ifall ingen
färg finns specifierad vid angivet datum.
SetDateColor
(Year As Integer, Month
As Integer, Day As Integer, Color As Long)
Sätter datumet
Year-Month-Day
(år-månad-dag) till färgen Color.
RemoveDateColor
(Year As
Integer, Month As Integer, Day As Integer) As Boolean
Avlägsnar färg för datumet
Year-Month-Day
(år-månad-dag) i kalendern. Funktionen returnerar True om
färgen avlägsnats eller False om den inte kan avlägsnas (tex
om ingen färg existerar vid specificerat datum). Efter att en färg
avlägsnats sätts datumet till standardfärgen svart.
RemoveAllDateColors
()
Avlägsnar alla färglagda
datum (dagar) i kalendern.
GetDateType
(Year As
Integer, Month As Integer, Day As Integer) As Integer
Returnerar fakta om datumet
Year-Month-Day
(år-månad-dag) i kalendern. Metoden informerar om det angivna datumet
är en vardag, lördag, söndag eller en helgdag. Metoden returnerar
en av följande värden:
0 = Vardag
1 = Lördag
2 = Söndag
3 = Helgdag (röd dag)
LoadCountryFile
(sFilename
As String) As Boolean
Laddar in en ny landsfil
till kalendern. Parametern sFilename
specificerar en sökväg till en landsfil. Efter en lyckad inläsning
av en landsfil sätts egenskapen CountryFilePath
till sökvägen till den nya landsfilen. Metoden returnerar True
om inläsningen gått bra eller False vid fel.
Mer information om landsfiler finns här.
.
|
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 2009 med röd färg.
CalendX12Mon1.AllowMultiSelection
= True ' Tillåt flerfärgsmarkeringar
CalendX12Mon1.SetSelColor 2009, 7, 1, RGB(255, 0, 0)
' Markera 2009-07-01
CalendX12Mon1.SetSelColor 2009, 7, 2, RGB(255, 0, 0)
' Markera 2009-07-02
CalendX12Mon1.SetSelColor 2009, 7, 3, RGB(255, 0, 0)
' Markera 2009-07-03
Exempel 2
Följande exempel sätter datumfärgen (färgen på dagnumret) för de två första
dagarna i augusti 2009 till blå.
CalendX12Mon1.SetDateColor
2009, 7, 1, RGB(0, 0, 255) ' Ändra färg för
2009-07-01
CalendX12Mon1.SetDateColor 2009, 7, 2, RGB(0, 0, 255)
' Ändra färg för 2009-07-02
Exempel 3
Följande exempel läser in en norsk landsfil till kalendern.
Dim bSt As Boolean
bSt = CalendX12Mon1.LoadCountryFile("C:\VBSL2012\CountryFiles\Norway.cty")
|