STRIGANOV SERGEY: Software development.

Разработка программного обеспечения на: C++, T-SQL, VBS, JavaScript, PHP

HTA, DTPicker - how to use. (example)


 Пример использования DTPicker в приложении HTA.
Несколько простых шагов к использованию:

  1.   Разместить в HTML коде формы обьект
    <OBJECT  id="ReportDate" style='WIDTH: 100%; HEIGHT: 23px' classid='clsid:20DD1B9E-87C4-11D1-8BE3-0000F8754DA1' > </OBJECT>
  2. Связать Change-события этого обьекта с обработчиком
    <SCRIPT FOR="ReportDate" EVENT='Change' LANGUAGE='VBScript'>ReportDateChange</SCRIPT>
  3. Реализовать код функции - обработчика события (в этом примере - функцию ReportDateChange)

Привязка к событию может понадобиться, если нужно делать автоматический перерасчет
всей формы - сразу после ввода пользователем в DTPicker новой даты.

Обратите внимание:
В этом примере дополнительно  реализована проверка на наличие обьекта DTPicker в системе.
Если обьект не найден, то будет выполнена попытка установки (если хватит прав пользователя.)

Example_DTPicker.vbs

'------------------------------------------------------------------------------------'
Sub BodyOnLoad ()
'Если DTPicker не установлен, то попытаемся его установить'
'If DTPicker not installed, then try to install it'
if not (CheckActiveXControls) then
Dim StrRun, Sh 
Sh  = CreateObject("WScript.Shell")
StrRun="regsvr32.exe MSCOMCT2.OCX"
 Sh.Run StrRun, 5, false
 MsgBox "Завершена попытка установки " & vbcrlf & "(Completed installation attempt) MSComCtl2.DTPicker." & vbcrlf & "Теперь вызовите форму еще раз. (Restart HTA)"
 Window.close
end if 
end sub

'------------------------------------------------------------------------------------'
Sub RunBtnOnClick
MsgBox "RunBtnOnClick - " & ReportDate.Value
end sub

'------------------------------------------------------------------------------------'
function ReportDateChange
MsgBox "ReportDateChange - New date: " & ReportDate.Value
End function

'------------------------------------------------------------------------------------'
function CheckActiveXControls 
on error resume next 
Dim KO
Set KO=CreateObject("MSComCtl2.DTPicker")
    if (err) then
        MsgBox "Требуется установить (You must install) MSComCtl2.DTPicker: Mscomct2.ocx"
        CheckActiveXControls=false
        exit function
    end if
KO=nothing
CheckActiveXControls=true
end function

 

Ссылки по теме (related links):

  

Attachments:
FileDescriptionFile sizeLast modified
Download this file (Example_DTPicker.zip)Example_DTPicker.zipExample_DTPicker.vbs Example_DTPicker.hta MSCOMCT2.OCX regsvr.bat335 kB2011-06-03 10:30

Add comment