Использование Ole-календаря в Microsoft VFP
« Назад Создаваемый на базе класса MSComCtl2.MonthView.2 Ole-календарь, позволяющий выбирать дату, рассмотрен в разд. 2.5.4.3. Воспользуемся теперь классом MSComCtl2.DTPicker.2, чтобы выбирать из календаря дату и иметь возможность устанавливать время, а затем употреблять их по назначению. На этот раз создадим форму d:\DateAndTime.scx, содержащую 2 OLE-объекта и 2 кнопки (рис. 3.8). Рис. 3.8. OLE-дата и время Для добавления нужного элемента управления ActiveX Control (OleControl) на панели инструментов Form Controls выбирается иконка , а затем в процессе вставки элемента управления в форму в появившемся списке (рис. 3.9) разыскивается строчка Microsoft Date and Time Picker Control (SP4). Рис. 3.9. Добавление OLE-элемента управления Второй элемент добавим, копируя первый. Оба элемента после вставки имеют заданные по умолчанию свойства (рис. 3.10) (окно свойств открывается при выборе пункта DTPicker Properties меню, появляющегося после нажатия на правую кнопку мыши, позиционированной на элементе). Рис. 3.10. Заданные по умолчанию свойства DTPicker Значение свойства Name OLE-объектов установим соответственно равными OleControlDate и OleControlTime. Свойство Format имеет значение dtpShortDate, то есть элемент отображает дату в коротком формате. Оставим это свойство неизменным для левого элемента (OleControlDate), а для правого (OleControlTime) установим значение свойства равным dtpTime, то есть приспособим элемент для отображения и задания времени. После добавления 2-х кнопок, регулировки размеров объектов и формы и изменения свойства Caption формы и кнопок получим приведенную на рис. 3.8 форму. При воздействии на отображающую дату поле OleControlDate открывается имеющийся на рис. 2.21 календарь; поле OleControlTime устроено в виде счетчика, позволяющего, увеличить или уменьшить значение (с единичным шагом) выбранной части времени. Обе кнопки имеют обработчиков события Click. Обработчик этого события кнопки "Дата и время" отображает в WAIT-окне выбранные дату и время. && Обработчик события Click кнопки "Дата и время" && && Формирует и отображает дату и время, используя значения свойств && Year, Month, Day, Hour, Minute и Second элемента управления DTPicker with ThisForm nYear = .OlecontrolDate.Year nMonth = .OlecontrolDate.Month nDay = .OlecontrolDate.Day nHour = .OlecontrolTime.Hour nMinute = .OlecontrolTime.Minute nSecond = .OlecontrolTime.Second endWith selectedDateTime = DateTime(nYear, nMonth, nDay, nHour, nMinute, nSecond) && Отображаем дату и время wait selectedDateTime window
&& Обработчик события Click кнопки "Закрыть" && ThisForm.Release && Закрываем форму Кроме того, обработчик события Init формы устанавливает свойства объектов OleControlDate и OleControlTime таким образом, что они отвечают началу текущего месяца и времени 8:00:00 (по умолчанию при открытии формы устанавливаются системные дата и время). && Обработчик события Init формы && && Устанавливает свойства объектов OleControlDate и OleControlTime currentDate = Date( ) && with ThisForm && Свойства объекта OleControlDate .OlecontrolDate.Year = Year(currentDate) .OlecontrolDate.Month = Month(currentDate) .OlecontrolDate.Day = 1 && && Свойства объекта OleControlTime .OlecontrolTime.Hour = 8 .OlecontrolTime.Minute = 0 .OlecontrolTime.Second = 0 endWith |