<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: настраиваемый диалог компонента JSForm.dll]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2873&amp;type=atom" />
	<updated>2009-03-02T08:02:43Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=2873</id>
		<entry>
			<title type="html"><![CDATA[VBScript: настраиваемый диалог компонента JSForm.dll]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=20187#p20187" />
			<content type="html"><![CDATA[<p>Бесплатный COM-сервер <a href="http://www.jsware.net/jsware/scripts.php5#jsform">JSForm.dll</a> позволяет вывести на экран настраиваемую форму диалога для запроса некоторых данных от пользователя. Размер дистрибутива (архив) — около 75 Кб.</p><p>Компонент позволяет немного настроить внешний вид диалога, вывести одно или два текстовых поля ввода (одно из которых может быть многострочным с прокруткой), вывести до трёх кнопок с произвольными названиями, список с возможностью выбора элемента. Компонент предельно прост и не требует обработки событий в коде (событий у компонента нет). Вместе с тем, с помощью многократных показов/скрытий формы можно организовать достаточно сложное поведение.</p><p>Пример вывода формы:<br /></p><div class="codebox"><pre><code>Set oWin = CreateObject(&quot;JSForm.Window&quot;)
oWin.Title = &quot;Заголовок окна&quot;
oWin.Caption = &quot;Заголовок формы&quot;
&#039; картинка в верхнем левом углу формы, максимум 48x48 pixels, ICO, BMP, JPG или GIF:
oWin.Picture = &quot;C:\Temp\test.ico&quot;
&#039; два текстовых поля; первое - многострочное, размером 300х100:
oWin.ShowTextBox(True, 300, 100) = 2
oWin.Text1Caption = &quot;Заголовок первого поля&quot;
oWin.Text2Caption = &quot;Заголовок второго поля&quot;
oWin.Text1Text = &quot;Содержимое &quot; &amp; vbCrLf &amp; &quot;первого поля&quot;
oWin.Text2Text = &quot;Содержимое второго поля&quot;
&#039;oWin.TextFontBold = True &#039; жирный шрифт для полей
oWin.TextFontLarge = True &#039; крупный шрифт для полей
&#039;oWin.Text1Select 5, 3 &#039; предварительно выделить в первом поле три символа, начиная с пятого
oWin.ShowButtons = 3 &#039; три кнопки (любая кнопка закрывает диалог)
oWin.Button1Caption = &quot;Первая&quot;
oWin.Button2Caption = &quot;Вторая&quot;
oWin.Button3Caption = &quot;Третья&quot;
oWin.ShowList() &#039; вывести список вверху формы
oWin.LoadList &quot;элемент 1,элемент 2,элемент 3&quot; &#039; заполнить список
oWin.AddToList &quot;элемент 4&quot;
oWin.ButtonColor = &quot;B0B0B0&quot; &#039; цвет кнопок
oWin.WindowColor = &quot;C0C0C0&quot; &#039; цвет окна
oWin.TextColor = &quot;0000C0&quot; &#039; цвет текста надписей формы
oWin.Persist = True &#039; сохранять содержимое диалога после закрытия
oWin.Show()
&#039; =========================================================
&#039;WScript.Echo oWin.GetList() &#039; содержимое списка, разделённое запятыми
&#039;WScript.Echo oWin.RemoveSelListItem &#039; вытолкнуть выбранный пользователем элемент списка
&#039;WScript.Echo oWin.GetList() &#039; оставшееся содержимое списка
&#039;WScript.Echo oWin.ClearList() &#039; очистка списка (например, перед повторным показом формы)
i = oWin.Response(s, s1, s2)
WScript.Echo &quot;была нажата кнопка &quot; &amp; i
WScript.Echo &quot;первое поле: &quot; &amp; s
WScript.Echo &quot;второе поле: &quot; &amp; s1
WScript.Echo &quot;выбрано из списка: &quot; &amp; s2</code></pre></div><p><span class="postimg"><img src="http://img150.imageshack.us/img150/9365/exampler.jpg" alt="http://img150.imageshack.us/img150/9365/exampler.jpg" /></span><br />Кроме того, компонент имеет методы для вывода интерактивных окон выбора файлов, папок и цвета:<br /></p><div class="codebox"><pre><code>Set oWin = CreateObject(&quot;JSForm.Window&quot;)
WScript.Echo oWin.ChooseFileOpen()
WScript.Echo oWin.ChooseFileSave()
WScript.Echo oWin.ChooseFolder(&quot;Выберите папку:&quot;)
res = oWin.ChooseColorRGB(r, g, b)
WScript.Echo res, r, g, b
WScript.Echo oWin.ChooseColorHex() &#039; 6-символьная строка</code></pre></div><p>Есть специальные методы для сохранения и чтения настроек, которые будут всегда находиться в файле <strong>jsformdll.ini</strong> в каталоге Windows:<br /></p><div class="codebox"><pre><code>Set oWin = CreateObject(&quot;JSForm.Window&quot;)
errCode = oWin.SaveInfo(&quot;Section1&quot;, &quot;Name&quot;, &quot;значение&quot;)
errCode = oWin.GetInfo(&quot;Section1&quot;, &quot;Name&quot;, val)
WScript.Echo val
errCode = oWin.DeleteInfo(&quot;Section1&quot;, &quot;Name&quot;)
errCode = oWin.GetInfo(&quot;Section1&quot;, &quot;Name&quot;, val)
WScript.Echo val</code></pre></div><p>Также можно проиграть WAV-файл:<br /></p><div class="codebox"><pre><code>Set oWin = CreateObject(&quot;JSForm.Window&quot;)
oWin.PlaySound &quot;C:\Windows\Media\Chimes.wav&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2009-03-02T08:02:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=20187#p20187</id>
		</entry>
</feed>
