I am working with PowerBulder integration now and recommend you to update to current 13.1 version and get after-released update here
https://forum.codejock.com/uploads/DemoVersion/CalendarControlUpdated.rar - https://forum.codejock.com/uploads/DemoVersion/CalendarControlUpdated.rar E.g. it supported printpreview just clicking internal CalendarControl button and has many new features compare with 2008 version
See snaphots here
https://forum.codejock.com/uploads/DemoVersion/PowerBuilderDayView.jpg - https://forum.codejock.com/uploads/DemoVersion/PowerBuilderDayView.jpg https://forum.codejock.com/uploads/DemoVersion/PowerBuilderWorkWeekView.jpg - https://forum.codejock.com/uploads/DemoVersion/PowerBuilderWorkWeekView.jpg https://forum.codejock.com/uploads/DemoVersion/PowerBulderMonthView-EditEventWithBuiltInEditor.jpg - https://forum.codejock.com/uploads/DemoVersion/PowerBulderMonthView-EditEventWithBuiltInEditor.jpg https://forum.codejock.com/uploads/DemoVersion/PowerBulderPrintPreview.jpg - https://forum.codejock.com/uploads/DemoVersion/PowerBulderPrintPreview.jpg https://forum.codejock.com/uploads/DemoVersion/PowerBulderPrintPreviewFullScreen.jpg - https://forum.codejock.com/uploads/DemoVersion/PowerBulderPrintPreviewFullScreen.jpg
I can consider your idea to have event property Visible or have special Category or Importance value which Calendar will not show in all Views or in MonthView only if we will have enough clients who like to have such feature
Example of event for create or modify event using built-in editors:
event doubleclicked; OleObject activeView OleObject levent OleObject hitTest OleObject viewEvent datastore lds
string ls_subject long days integer rc
levent = create OleObject activeView= create OleObject hitTest = create OleObject
activeView = Calendar.object.ActiveView
days = activeView.DaysCount
OlecalendarDialog = create OleObject OlecalendarDialog.ConnectToNewObject("Codejock.CalendarDialogs.13.1.0") OlecalendarDialog.Calendar(Calendar.object)
hitTest = activeView.HitTest ()
if isValid(hitTest) then viewEvent = hitTest.ViewEvent if isValid( viewEvent) then levent = viewEvent.Event() if IsValid(levent) then if OlecalendarDialog.ShowEditEvent(levent) then lds = create datastore lds.DataObject = 'd_events' lds.SetTransObject(SQLCA) rc = lds.InsertRow(0) lds.SetItem(rc,'Subject', levent.Subject ) lds.SetItem(rc,'startdatetime', levent.StartTime) lds.SetItem(rc,'enddatetime', levent.EndTime) lds.SetItem(rc,'location', levent.Location) lds.SetItem(rc,'body', levent.Body) lds.update() destroy lds end if end if else
levent = Calendar.object.DataProvider.CreateEvent() levent.StartTime = hitTest .HitDateTime if OleCalendarDialog.ShowNewEvent2(levent) then lds.DataObject = 'd_events' lds.SetTransObject(SQLCA) rc = lds.InsertRow(0) lds.SetItem(rc,'Subject', levent.Subject ) lds.SetItem(rc,'startdatetime', levent.StartTime) lds.SetItem(rc,'enddatetime', levent.EndTime) lds.SetItem(rc,'location', levent.Location) lds.SetItem(rc,'body', levent.Body) lds.update() destroy lds Calendar.object.DataProvider.AddEvent(levent) end if end if end if
destroy OlecalendarDialog destroy levent destroy activeView destroy hitTest destroy viewEvent
end event
------------- Mark Doubson, Ph.D.
|