カレンダー
カレンダー・コントロールを使用して、ユーザーの日付選択を手助けします。
カレンダーから返される値は、Dateフィールドです。
以下の例をコピー・貼り付けして、カレンダーがどのように動作するかを確認することができます。
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Caption('calendar Tester') Clientheight(272) Clientwidth(545) Componentversion(1) Formposition(ScreenCenter) Height(308) Left(485) Top(150) Width(561)
Define_Com Class(#PRIM_MTCL) Name(#calendar) Displayposition(6) Height(224) Left(8) Parent(#COM_OWNER) Tabposition(6) Top(8) Visualstyle(#VS_LAREM) Width(260)
Define_Com Class(#PRIM_DTIM) Name(#MIN) Displayposition(3) Height(25) Left(368) Parent(#COM_OWNER) Tabposition(3) Top(120) Width(120)
Define_Com Class(#PRIM_DTIM) Name(#MAX) Displayposition(1) Height(25) Left(368) Parent(#COM_OWNER) Tabposition(1) Top(160) Width(120)
Define_Com Class(#PRIM_CKBX) Name(#CKBX_TODAY) Buttonstate(Checked) Caption('Show today''s date') Displayposition(7) Height(20) Left(288) Parent(#COM_OWNER) Tabposition(7) Top(8) Width(145)
Define_Com Class(#PRIM_CKBX) Name(#CKBX_TODAYCIRCLE) Buttonstate(Checked) Caption('Show today''s date circled') Displayposition(5) Height(20) Left(288) Parent(#COM_OWNER) Tabposition(5) Top(32) Width(145)
Define_Com Class(#PRIM_LABL) Name(#LABL_1) Caption('Minimum date:') Displayposition(4) Height(25) Left(288) Parent(#COM_OWNER) Tabposition(4) Tabstop(False) Top(120) Width(73)
Define_Com Class(#PRIM_LABL) Name(#LABL_2) Caption('Maximum date:') Displayposition(2) Height(22) Left(288) Parent(#COM_OWNER) Tabposition(2) Tabstop(False) Top(160) Width(73)
Define_Com Class(#PRIM_LABL) Name(#LABL_3) Caption('Start of week') Displayposition(9) Height(15) Left(288) Parent(#COM_OWNER) Tabposition(9) Tabstop(False) Top(88) Width(65)
Define_Com Class(#PRIM_CMBX) Name(#CMBX_1) Autoselectitem(False) Componentversion(1) Displayposition(8) Height(18) Left(368) Parent(#COM_OWNER) Showselection(False) Showselectionhilight(False) Tabposition(8) Top(88) Width(121)
Define_Com Class(#PRIM_CBCL) Name(#CBCL_1) Displayposition(1) Parent(#CMBX_1) Source(#STD_TEXT)
Evtroutine Handling(#COM_OWNER.CreateInstance) Options(*NOCLEARMESSAGES *NOCLEARERRORS)
Set Com(#MIN) Value(#calendar.mindate)
Set Com(#MAX) Value(#calendar.maxdate)
Set Com(#CMBX_1) Value(#calendar.Startofweek)
Change Field(#std_text) To('''MONDAY''')
Add_Entry To_List(#CMBX_1)
Change Field(#std_text) To('''TUESDAY''')
Add_Entry To_List(#CMBX_1)
Change Field(#std_text) To('''WEDNESDAY''')
Add_Entry To_List(#CMBX_1)
Change Field(#std_text) To('''THURSDAY''')
Add_Entry To_List(#CMBX_1)
Change Field(#std_text) To('''FRIDAY''')
Add_Entry To_List(#CMBX_1)
Change Field(#std_text) To('''SATURDAY''')
Add_Entry To_List(#CMBX_1)
Change Field(#std_text) To('''SUNDAY''')
Add_Entry To_List(#CMBX_1)
Change Field(#std_text) To(#calendar.StartOfWeek)
Endroutine
Evtroutine Handling(#CKBX_TODAY.Click)
If Cond('#CKBX_TODAY.buttonstate = Checked')
Set Com(#calendar) Showtoday(True)
Else
Set Com(#calendar) Showtoday(False)
Endif
Endroutine
Evtroutine Handling(#CKBX_TODAYCIRCLE.Click)
If Cond('#CKBX_TODAYcircle.buttonstate = Checked')
Set Com(#calendar) Showtodaycircle(True)
Else
Set Com(#calendar) Showtodaycircle(False)
Endif
Endroutine
Evtroutine Handling(#MIN.Changed) Options(*NOCLEARMESSAGES *NOCLEARERRORS)
Set Com(#calendar) Mindate(#MIN.Value)
Endroutine
Evtroutine Handling(#MAX.Changed) Options(*NOCLEARMESSAGES *NOCLEARERRORS)
Set Com(#calendar) Maxdate(#MAX.Value)
Endroutine
Evtroutine Handling(#CMBX_1.ComboChanged) Options(*NOCLEARMESSAGES *NOCLEARERRORS)
Set Com(#calendar) Startofweek(#std_text)
Endroutine
End_Com