Это мой любимый язык. Хотя языком он не является. Это скорее обертка, которую написала Microsoft, она позволяет выполнять структурные языки типа VBS
или JSсript
. Но в этом и есть вся фигня, выполняется скрипт и красиво все выводит на экран. Сам по себе скрипт выполняет черновую работу, можно прада вывести чего-то в консольное окно, но это чисто информативно.
До определенного момента развития информационных технологий программы могли создавать только профессионалы в области программирования, с появлением и последующим развитием скриптовых языков, а также браузерных технологий, создание приложений стало более простым для обычного пользователя компьютера. Итак, HTA (HTML Application) – это простая технология, позволяющая создавать полезные приложения даже без знания серьезных языков программирования.
То есть при помощи HTML создается абсолютно любой пользовательский интерфейс, причем с минимальными усилиями и без каких-либо существенных ограничений, логика программы организуется кодом на Java Script или Visual Basic Script, а само приложение выходит за рамки браузера – программа на стадии выполнения ничем не будет отличаться от обычных оконных приложений для Windows – запущенное приложение будет присутствовать на панели задач, иметь собственные окно, меню и значок. Хотя здесь нужно оговориться: программа не будет видна среди запущенных приложений в диспетчере задач, единственное средство, которым можно контролировать запущенную программу – это процесс mshta.exe.
Блок схема:
Как это выглядит:
1 2 3 4 5 6 7 8 9 10 11 12 |
<html> <head> <hta:application id=hta_id applicationName=hta_name showInTaskBar=no caption=no innerBorder=no selection=no scroll=no contextmenu=no /> |
Это заголовок окна (я в основном придерживаюсь этой схемы), он определяет поведение, внешний вид и многое другое, посмотреть можно здесь – HTA.
Далее идет тело скрипта, в котором в первую очередь необходимо позиционировать окно. Все остальные функции скрипта это мясо, которое наращивается по мере написания кода. Скрипт начинается либо так
1 |
<script language=javascript> |
или так, разница в ощем-то небольшая )
1 |
<script type="text/javascript"> |
Вот как делаю я, ну и подавляющее большинство ))
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<script language=javascript> var winWidth=700; // ширина окна var winHeight=400; // высота окна // изменяем размер window.resizeTo(winWidth, winHeight); // окно в центр экрана var winPosX=screen.width/2-winWidth/2; var winPosY=screen.height/2-winHeight/2; window.moveTo(winPosX, winPosY); |
Для того, чтобы закрыть окно достаточно простой цункции:
1 2 3 4 |
// обработчии - выход function myExit() { window.close(); } |
метод .close()
просто возьмет и без разговоров закроет окно, обнулив соответственно выделенную память.
Есть и другой метод инициализации окна:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="myApp" BORDER="thin" BORDERSTYLE="normal" CAPTION="yes" ICON="" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes" SHOWINTASKBAR="no" SINGLEINSTANCE="no" SYSMENU="yes" VERSION="1.0" WINDOWSTATE="maximize" /> <SCRIPT> function window.onload(){ sTempStr = "applicationName = " + oHTA.applicationName + "\n" + "border = " + oHTA.border + "\n" + "borderStyle = " + oHTA.borderStyle + "\n" + "caption = " + oHTA.caption + "\n" + "commandLine = " + oHTA.commandLine + "\n" + "icon = " + oHTA.icon + "\n" + "maximizeButton = " + oHTA.maximizeButton + "\n" + "minimizeButton = " + oHTA.minimizeButton + "\n" + "showInTaskBar = " + oHTA.showInTaskbar + "\n" + "singleInstance = " + oHTA.singleInstance + "\n" + "sysMenu = " + oHTA.sysMenu + "\n" + "version = " + oHTA.version + "\n" + "windowState = " + oHTA.windowState + "\n" ; oPre.innerText = sTempStr; // здесь прописываем позиционирование окна ... ... } </SCRIPT> |
Но он получается более громоздким, хотя и более правильным. Я предпочитаю работать с первым вариантом. И ещё, что касается языка, рекомендую использовать javascript
, VBS
уже морально устарел.
Ну а, что касается HTML-оформления, всё в ваших руках. Удачи