> *--Courtesy Mike Gagnon and Mark Murphree UT 08/16/2006 PUBLIC oform1 oform1=NEWOBJECT("form1") oform1.Show RETURN DEFINE CLASS form1 AS form Top = 0 Left = 0 Height = 506 Width = 840 DoCreate = .T. Caption = "Calendar Example Form" Name = "ouform" ADD OBJECT label1 AS label WITH ; TOP = 3, ; LEFT = 200, ; HEIGHT = 30, ; WIDTH = 260, ; NAME = 'label1',; FONTSIZE = 9, ; CAPTION = "Today's Date: "+DTOC(DATE()) ADD OBJECT label2 AS label WITH ; TOP = 25, ; LEFT = 160, ; HEIGHT = 30, ; WIDTH = 260, ; NAME = 'label2',; FONTSIZE = 9, ; CAPTION = 'Selected Calendar Date: '+DTOC(DATE()) ADD OBJECT olecontrol1 AS olecontrol WITH ; Top = 62, ; Left = 5, ; Height = 420, ; Width = 550, ; Name = "Olecontrol1", ; OleClass = "OVCtl.OVCtl.1" ADD OBJECT command1 AS commandbutton WITH ; AutoSize = .T., ; Top = 254, ; Left = 568, ; Height = 27, ; Width = 115, ; Caption = "New Appointment", ; Name = "Command1" ADD OBJECT command2 AS commandbutton WITH ; AutoSize = .T., ; Top = 302, ; Left = 568, ; Height = 27, ; Width = 95, ; Caption = "Address Book", ; Name = "Command2" ADD OBJECT cmdbutton AS commandbutton WITH ; Top = 350, ; LEFT = 568,; WIDTH = 75,; HEIGHT = 27,; NAME = 'cmdbutton',; caption = 'GOTO Date' ADD OBJECT optiongroup1 AS optiongroup WITH ; AutoSize = .F., ; ButtonCount = 7, ; Value = 1, ; Height = 141, ; Left = 568, ; Top = 74, ; Width = 240, ; Name = "Optiongroup1", ; Option1.Caption = "Day/Week/Month", ; Option1.Value = 1, ; Option1.Height = 17, ; Option1.Left = 5, ; Option1.Style = 0, ; Option1.Top = 5, ; Option1.Width = 204, ; Option1.AutoSize = .F., ; Option1.Name = "Option1", ; Option2.Caption = "Day/Week/Month View With AutoPreview", ; Option2.Height = 17, ; Option2.Left = 5, ; Option2.Style = 0, ; Option2.Top = 24, ; Option2.Width = 235, ; Option2.AutoSize = .T., ; Option2.Name = "Option2", ; Option3.Caption = "Active Appointments", ; Option3.Height = 17, ; Option3.Left = 5, ; Option3.Style = 0, ; Option3.Top = 43, ; Option3.Width = 204, ; Option3.AutoSize = .F., ; Option3.Name = "Option3", ; Option4.Caption = "Events", ; Option4.Height = 17, ; Option4.Left = 5, ; Option4.Style = 0, ; Option4.Top = 62, ; Option4.Width = 204, ; Option4.AutoSize = .F., ; Option4.Name = "Option4", ; Option5.Caption = "Annual Events", ; Option5.Height = 17, ; Option5.Left = 5, ; Option5.Style = 0, ; Option5.Top = 81, ; Option5.Width = 204, ; Option5.AutoSize = .F., ; Option5.Name = "Option5", ; Option6.Caption = "Recurring Appointments", ; Option6.Height = 17, ; Option6.Left = 5, ; Option6.Style = 0, ; Option6.Top = 100, ; Option6.Width = 204, ; Option6.AutoSize = .F., ; Option6.Name = "Option6", ; Option7.Caption = "By Category", ; Option7.Height = 17, ; Option7.Left = 5, ; Option7.Style = 0, ; Option7.Top = 119, ; Option7.Width = 204, ; Option7.AutoSize = .F., ; Option7.Name = "Option7" PROCEDURE Init thisform.oLECONTROL1.Folder="Calendar" thisform.oLECONTROL1.gotoDate(DTOC(DATE())) * BINDEVENT() courtesy Mark Murphree UT 08/17/2006 BINDEVENT(this.OLECONTROL1,"SelectionChange", ; this, "DisplaySelectedDate") ENDPROC PROCEDURE command1.Click thisform.OLECONTROL1.newAppointment() ENDPROC PROCEDURE command2.Click thisform.OLECONTROL1.addressbook() ENDPROC PROCEDURE optiongroup1.Option1.Click thisform.OLECONTROL1.view = this.Caption ENDPROC PROCEDURE optiongroup1.Option2.Click thisform.OLECONTROL1.view = this.Caption ENDPROC PROCEDURE optiongroup1.Option3.Click thisform.OLECONTROL1.view = this.Caption ENDPROC PROCEDURE optiongroup1.Option4.Click thisform.OLECONTROL1.view = this.Caption ENDPROC PROCEDURE optiongroup1.Option5.Click thisform.OLECONTROL1.view = this.Caption ENDPROC PROCEDURE optiongroup1.Option6.Click thisform.OLECONTROL1.view = this.Caption ENDPROC PROCEDURE optiongroup1.Option7.Click thisform.OLECONTROL1.view = this.Caption ENDPROC PROCEDURE cmdbutton.click mydate = DTOC(DATE()) mydate = INPUTBOX('Enter date: ','GOTO date',mydate) IF TYPE('mydate') = "C" .and. CTOD(mydate) > {} thisform.OLECONTROL1.gotoDate(mydate) ELSE MESSAGEBOX('Invalid Date Returned.') ENDIF thisform.OLECONTROL1.setfocus() THISFORM.DisplaySelectedDate() ENDPROC * new form1 procedure courtesy Mark Murphree UT 08/17/2006 PROCEDURE DisplaySelectedDate IF TYPE("this.olecontrol1.selecteddate")#"U" IF TYPE('this.olecontrol1.selecteddate') = "T" thisform.label2.caption = 'Selected Calendar Date: '+TTOC(this.olecontrol1.selecteddate) ELSE IF TYPE('this.olecontrol1.selecteddate') = "C" THISFORM.label2.caption = 'Selected Calendar Date: '+this.olecontrol1.selecteddate ELSE IF TYPE('this.olecontrol1.selecteddate') = 'D' thisform.label2.caption = 'Selected Calendar Date: '+DTOC(this.olecontrol1.selecteddate) ENDIF ENDIF ENDIF ENDIF ENDPROC ENDDEFINE <>