Объект JSForm.Window — Создание Windows форм

Объект JSForm.Window — Создание Windows форм Объектная модель Windows Script Host

Приветствую всех читателей блога scriptcoding.ru. Сегодня мы рассмотрим компонент JSForm, который позволяет программно создавать Windows формы, настраивать их, также, данная библиотека позволяет обрабатывать INI файлы.

Библиотека JSForm.dll является бесплатным COM-сервером, который позволяет создавать настраиваемую Windows форму (добавление текстового поля, дополнительных кнопок или вывод списка). Кроме того, библиотека позволяет сохранять/загружать настройки (цветовая схема, внешний вид Windows форм) в ini документ, так как документ создается в системной папке Windows, то для этого понадобится права администратора. Компонент можно скачать на официальном сайте www.jsware.net или по ссылке, которую я дам ниже. После скачивания библиотеки, ее надо зарегистрировать в системе: Пуск/Выполнить REGSVR32 «Путь к компоненту». Параллельно можете ознакомиться с такими элементами как Chilkat.Spider и JSSys3.Ops.

Для использования объекта, нужно сначала создать переменную, которая будет хранить ссылку на нужный класс:

Подключение на языке VBScript:

Set obj = CreateObject("JSForm.Window")

Подключение на языке JScript:

obj = WScript.CreateObject("JSForm.Window");

После создания ссылки и сохранения ее в переменной, мы сможем использовать свойства и методы объекта.

Работа с окнами – Windows формы от JSForm

Title — Заголовок.

obj6.Title = "Новое_окно"

Caption – текст, отображаемый в окне. Если Persist установлено в True, то размер окна будет статическим.

obj6.Caption = "Это_новое_окно."

Picture – Путь к значку (размер 48×48 пикселей, поддерживаемые форматы ICO, BMP, JPG или GIF).

obj6.Picture = "C:\windows1\desktop\pic32.bmp"

Show  — Сделать_окно видимым.

obj6.Show

Hide – Скрыть_окно скрытым.

obj6.Hide

Persist – Принимает True (сохранить установки) или False (сбросить установки).

Reset – Сброс настроек. Если Persist установлено в False, то настройки будут сброшены при следующем нажатии на кнопку. Reset позволяет сбросить все сразу.

obj6.Reset

Работа с текстовыми полями

Windows формы

ShowTextBox(Multiline[, width][, height]) = number – создает текстовое поле на форме Windows, Multiline – принимает значения true (многострочное текстовое поле) или false (однострочное текстовое поле), width и height – необязательные параметры, которые задают ширину и высоту текстового поля, number – количество текстовых полей, принимает 1(Text1Caption, Text1Text) или 2(Text2Caption, Text2Text).

obj7.ShowTextBox(true, 400, 400) = 1
obj7.ShowTextBox(false) = 2    ' отобразить два однострочных текстовых поля
obj7.Text1Caption = "Enter Name Here:"
obj7.Text1Text = "C:\Windows1\System"

TextFontBold –true (установить жирный шрифт) или false, по умолчанию стоит false.

obj7.TextFontBold = True

TextFontLarge — true (установить увеличенный шрифт) или false, по умолчанию стоит false.

obj7.TextFontLarge = True

Text1Select(start, length) – Показывает выбранный текст, работает только с текстовым полем 1 и, если multiline установлено в true. Start — значение начального параметра, length — длина.

obj7.Text1Select 5, 3     'выбираем три символа, начиная с пятого

Работа с кнопками

ShowButtons – определяет количество отображаемых кнопок на форме Windows, может принимать значения 1(Button1Caption), 2(Button2Caption) и 3(Button3Caption)

obj1.ShowButtons = 2
obj1.Button1Caption = "YES"
obj1.Button2Caption = "NO"

Работа со списками

ShowList – отобразить список в окне.

LoadList(list) – загрузить список list.

obj1.LoadList "item1,item2,item3"

GetList – Вернет все элементы списка, разделенные запятыми, например, «один, два, три»

s = obj1.GetList
array1 = split(s, ",")
AddToList (item)
obj1.AddToList "item4"

RemoveSelListItem — удаляет 1 элемент из списка, возвращает текст удаленного элемента, если элемент не выбран, вернет «».

s = obj1.RemoveSelListItem

ClearList – удаляет все элементы из списка.

Настройка цвета

Создание Windows форм

ButtonColor – HEX код цвета для кнопок.

WindowColor  – HEX код цвета для фона.

TextColor  – HEX код цвета для текста в окне, свойства caption и text.

obj2.WindowColor = "FFFFFF"
obj2.ButtonColor = "F9F8FF"
obj2.TextColor = "0000AA"

Если значение цвета не задано или не является допустимым, то будет применена стандартная цветовая схема. Windows формы.

Просмотр и выбор цвета – Windows формы с JSForm

ChooseFileOpen() – Показывает окно выбора документа, вернет путь выбранного файла или «» если была нажата кнопка отмена.

s = obj2.ChooseFileOpen

ChooseFileSave() — Отображает окно сохранения документа. Возвращает имя папки, в которой произошло сохранение файла или «» если была нажата кнопка отмена.)

s = obj2.ChooseFileSave

ChooseFolder() — Показывает окно выбора папки. Вернет имя выбранной папки или «» при выборе отмены. Caption — необязательный параметр, определяющий текст надписи, показываемый в окне выбора папки. Метод ChooseFolder также может быть использован для выбора диска, при этом будет возвращено имя выбранного диска (например: «C:»или «D:»)

s = obj2.ChooseFolder("Выберите папку")

ChooseColorRGB(r, g, b) – требует предварительного вызова свойства ChooseColorHex, отображает окно выбора цвета. Возвратит RGB код цвета или -1, если была нажата кнопка отмена. Также покажет значения R, G и B по отдельности.

s = obj3.choosecolorRGB(r, g, b)

Если выбран фиолетовый цвет, то возвратит: s = 8388736 r = 128 g = 0 b = 128

ChooseColorHex() — Показывает окно выбора цвета, возвращает hex код выбранного цвета или «» если была нажата кнопка отмена.

s = obj3.ChooseColorHex

Функции для хранения настроек в INI файле

При первом вызове функций компонента JSForm для создания форм Windows, автоматически будет создан файл jsformdll.ini в папке Windows, что не очень хорошо, так как для этого надо иметь права администратора.

GetInfo(section, key, value) – Позволяет получить сохраненные информационные установки. Возвращает 1 в случае успеха, 0 — если нет такого значения, -1 — если INI-файл отсутствует, -2, если произошла ошибка. Section – название секции, в которой будут храниться установки, key – названия ключа, например Window, Button или Text, value – число присваиваемое ключу.

Файл настроек может выглядеть следующим образом:

[Colors]
Window=FFFFFF
Button=FFF8F9
Text=0000AA

i = obj.GetInfo("Folders", "pics", s)

SaveInfo(section, key, value) – Сохранение системных установок, возвращает 1 при удаче и -1 при ошибке.

s = "C:\Windows1\Clouds.bmp"
i = obj3.SaveInfo("Settings", "Wallpaper", s)

DeleteInfo(section, key) – удаляет заданный ключ, возвращает 1 при удаче и -1 при ошибке.

i = obj3.DeleteInfo("Settings", "Wallpaper")                                                    ' работа с Windows формами

Response функция может быть вызвана после Show, чтобы поймать действие мышью, и возвращает результат действий пользователя:

Response(s1, s2, s3) – Возвращает номер нажатой клавиши (той, что находится на форме), номера хранится в переменных  s1, s2 и s3, вернет соответственно 1, 2 или 3 или 0, ели закрытие было произведено без нажатия кнопки.

i = obl.Response(s, s1, s2)i = obl.Response(s)                                                                                                        ' формы в Windows
i = obl.Response(, , s2)
i = obl.Response(, s1)
i = obl.Response()

Скачать компонент

PlaySound(путь к WAV файлу) – проигрывает аудио файл.

obj.PlaySound "C:\Windows1\Media\asterisk.wav"

И так, в этой статье мы рассмотрели объект JSForm, который позволяет обрабатывать и создавать формы Windows. Однако, для более функционального программирования, можно использовать объект WindowSystemObject, который содержит больше функций для обработки оконного интерфейса.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий