1 TCHUI.TForm ========================================================================================================================== PROPERTIES . ========================================================================================================================== Labels TCHUI.TLabel TCHUI.TLabel Edits TCHUI.TEdit Buttons TCHUI.TButton TCHUI.TButton TCHUI.TButton TCHUI.TButton TCHUI.TButton %String 1 %String 1 %String 1 Kader TCHUI.TKader Actions TCHUI.TAction TCHUI.TAction TCHUI.TAction TCHUI.TAction %String $H 1 ========================================================================================================================== METHODs . ========================================================================================================================== 1 Caption,HSelectedDate %String >",2,21,1,2,,,,$LB(,FormBackColor),$$$alCenter) Set ..btnNextMonth.Action=..acNextMonth //Tab&Paint volgorde deel I Set TabPaintVolgNr=..SetTabAndPaintOrder(..kdrMain,..btnPrevMonth,..lblCurrentMonth,..btnNextMonth,..lblHeader) // --- DYNAMISCHE CMPs --- Set CmpCnt=0 For WeekLoop=1:1:6 Do . For DayLoop=1:1:7 Do .. Set CmpCnt=CmpCnt+1 .. Set TabPaintVolgNr=TabPaintVolgNr+1 .. Set btnDate=##class(TCHUI.TButton).Create(%this,"Button"_CmpCnt,"",(4+(WeekLoop*2)),DayLoop*3,1,2,TabPaintVolgNr,TabPaintVolgNr,,$LB(,FormBackColor),$$$alRight) .. Set btnDate.OnClick=$LB(%this,"btnDayClick") .. Set btnDate.OnKeyPress=$LB(%this,"btnDayKeyPress") .. Set btnDate.Tag=..#tgDayButton .. //Set btnDate.Font=##class(TCHUI.TFont).Create($S(DayLoop>5:$LB($$$clUltraDark),1:$LB($$$clDark))) .. Set ..aDay(CmpCnt)=btnDate // ----------------------- //Edits Do ##class(TCHUI.TEdit).CreateSet(%this,"txtGoToDate","",18,3,1,10) Set ..txtGoToDate.OnKeyPress=$LB(%this,"txtGoToDateKeyPress") Set ..txtGoToDate.AutoErase=1 //Buttons Do ##class(TCHUI.TButton).CreateSet(%this,"btnToday","Vandaag",18,14,,9,,,,,$$$alCenter) Set ..btnToday.OnClick=$LB(%this,"btnTodayClick") Do ##class(TCHUI.TButton).CreateSet(%this,"btnCancel","Annuleren",20,3,,11,,,,,$$$alCenter) //Set ..btnCancel.OnClick=$LB(%this,"btnCancelClick") Set ..btnCancel.ModalResult=$$$mrCancel Do ##class(TCHUI.TButton).CreateSet(%this,"btnOk","OK",20,15,,8,,,,,$$$alCenter) //Set ..btnOk.OnClick=$LB(%this,"btnOkClick") Set ..btnOk.ModalResult=$$$mrOk Set ..ActiveControl=..btnOk //Tab&Paint volgorde deel II, offset meegeven Do ..SetTabAndPaintOrder(TabPaintVolgNr+1,..txtGoToDate,..btnToday,..btnCancel,..btnOk) Do ..Center() ]]> Refresh adhv WorkDate property SelectWorkDate:%Boolean=0 dd/mm/yyyy Set FirstDayNrOfWeek=$ZD(HFirstDayOfMonth,10) Set:(FirstDayNrOfWeek=0) FirstDayNrOfWeek=7 ;Zondag: 0 -> 7 For Loop=1:1:(FirstDayNrOfWeek-1) Do . Do ..aDay(Loop).DefaultClear() . Set ..aDay(Loop).Visible=0 Kill ..aiBtnToDayNr,..aiDayNrToBtn For Loop=1:1:LastDayOfMonth Do . Set CmpNr=FirstDayNrOfWeek-1+Loop . Set btnDate=..aDay(CmpNr) . Set btnDate.Visible=1 . Set btnDate.OnPaint="" . Set btnDate.Caption=Loop . Do ..aDay(CmpNr).DefaultPaint() . ;Index arrays . Set ..aiBtnToDayNr(+btnDate)=Loop . Set ..aiDayNrToBtn(Loop)=btnDate For Loop=(LastDayOfMonth+FirstDayNrOfWeek):1:42 Do . Do ..aDay(Loop).DefaultClear() . Set ..aDay(Loop).Visible=0 ;Indien SelectWorkDate=1 ActiveControl op WorkDate instellen If SelectWorkDate Do . Set WorkDateDayNr=+$E($ZD(HDate,4),1,2) . Set btnDate=..aDay(FirstDayNrOfWeek-1+WorkDateDayNr) . Set ..ActiveControl=btnDate Else Do . Do:(..ActiveControl.Tag=..#tgDayButton) ..btnOk.SetFocus() ;Indicate today Set HToday=$P($H,",",1) If (HFirstDayOfMonth'>HToday) && (HToday'>HLastDayOfMonth) Do . Set TodayNr=+$E($ZD(HToday,4),1,2) . Set btnDate=..aDay(FirstDayNrOfWeek-1+TodayNr) . Set btnDate.OnPaint=$LB(%this,"btnPaintToday") . Do btnDate.DefaultPaint() Set ..lblCurrentMonth.Caption=$$FormatDateTime^vhLib("Mmmm yyyy",HDate) ]]> ========================================================================================================================== EVENTs . ========================================================================================================================== Sender:TCHUI.TControlBasis,KeyCode:%String Sender:TCHUI.TControlBasis Sender:TCHUI.TControlBasis,KeyCode:%String Sender:TCHUI.TControlBasis Sender:TCHUI.TButton,DefaultDraw:%Boolean Sender:TCHUI.TControlBasis Sender:TCHUI.TControlBasis Sender:TCHUI.TControlBasis Sender:TCHUI.TControlBasis