Wie versprochen gibt's den Kalender aus meinem Beitrag für den MiniBCC #11 jetzt auch als Modul (leicht angepasst).
Holzchopf.MaxGuiCalendar
Beispiel (liegt im .zip bei): BlitzMax: [AUSKLAPPEN] [EINKLAPPEN] SuperStrict
Framework MaxGUI.Drivers Import Holzchopf.MaxGuiCalendar
Global date1:Long = TCalendarGadget.GetCurrentDate() Global date2:Long = date1
Global gdWindow:TGadget = CreateWindow("CalendarGadget Demo",0,0,120,150,Null, WINDOW_TITLEBAR | WINDOW_CENTER | WINDOW_CLIENTCOORDS) CreateLabel("Tage von",10,12,100,20,gdWindow) Global gdDate1:TGadget = CreateButton("",10,35,100,22,gdWindow) CreateLabel("bis",10,62,100,20,gdWindow) Global gdDate2:TGadget = CreateButton("",10,85,100,22,gdWindow,1) Global gdDiff:TGadget = CreateLabel("",10,122,100,20,gdWindow)
UpdateTexts()
Local gdCalendarWindow:TGadget = CreateWindow("Kalender",0,0,208,160,gdWindow, WINDOW_TITLEBAR | WINDOW_TOOL | WINDOW_CENTER | WINDOW_CLIENTCOORDS | WINDOW_HIDDEN) Local gdCalendar:TCalendarGadget = TCalendarGadget.Create(0,0,208,160, gdCalendarWindow)
Local selDate:Int = 0
Repeat Select WaitEvent() Case EVENT_WINDOWCLOSE If EventSource()=gdWindow End Else HideGadget(gdCalendarWindow) EndIf Case EVENT_GADGETACTION If EventSource()=gdDate1 gdCalendar.MarkDate(date1) ShowGadget(gdCalendarWindow) selDate = 1 ElseIf EventSource()=gdDate2 gdCalendar.MarkDate(date2) ShowGadget(gdCalendarWindow) selDate = 2 EndIf Case EVENT_DATESELECTED HideGadget(gdCalendarWindow) If selDate = 1 Then date1 = gdCalendar.GetSelectedDate() If selDate = 2 Then date2 = gdCalendar.GetSelectedDate() UpdateTexts() EndSelect gdCalendar.Update Forever
Function UpdateTexts() Local date:Int[] date = TCalendarGadget._TimestampToDMY(date1) SetGadgetText(gdDate1,TCalendarGadget.DateToString(date[0],date[1],date[2])) date=TCalendarGadget._TimestampToDMY(date2) SetGadgetText(gdDate2,TCalendarGadget.DateToString(date[0],date[1],date[2])) Local diff:Int = date2/86400 -date1/86400 SetGadgetText(gdDiff, diff) EndFunction
Viel Spass damit!
mfG
Holzchopf
|