Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Встраивание элементов управления ActiveX в свитки средствами MAXScript




Другое применение редактора VMS

В следующем упражнении показан другой пример применения редактора VMS во время работы над сценарием. Находясь в окне редактора сценариев MAXScript Editor, вы можете перейти в редактор VMS и вставить сформированный в нем код в текущую позицию курсора в окне редактора сценариев.

1. Введите следующий фрагмент кода в окне редактора MAXScript Editor:

utility vms_insert "VMS Insert"

(

)

2. Убедитесь в том, что курсор установлен в строке, находящейся между открывающей и закрывающей круглыми скобками.

3. Выберите команду Tools ⇨ New Rollout из меню в окне редактора сценариев. Откроется окно редактора VMS.

4. Создайте кнопку аналогично описанной выше и выберите команду File ⇨ Save.

5. Код сценария для вновь созданного свитка автоматически появится в позиции курсора в окне редактора сценариев. Фон окна редактора сценариев станет серым, и править код в нем нельзя будет до тех пор, пока не закроется окно редактора VMS.

 

 

 


Вы можете продолжить ввод элементов пользовательского интерфейса, используя редактор Visual MAXScript. По завершении выберите команду File ⇨ Save из меню в окне редактора VMS, чтобы поместить соответствующий код в окне редактора сценариев, а затем закройте окно редактора VMS.

6. Код, переносимый из редактора VMS в окно редактора сценариев MAXScript Editor, вставляется без отступа, поэтому вам придется добавить отступы вручную. А для того чтобы автоматически сформированный свиток появился на панели, придется, как и прежде, ввести обработчик событий open в код сценария вручную.

Примечание. После ввода определений свитка в сценарий этот свиток можно ввести или удалить где угодно, используя соответственно функцию

addRollout или removeRollout.


Приложение

В MAXScript имеется возможность встраивать элементы управления ActiveX независимых производителей непосредственно в свиток. Для этого совершенно необязательно разбираться в технологии ActiveX, которая разработана компанией Microsoft и позволяет применять в приложениях независимые программные мо­дули для решения специальных задач. Многие элементы управления ActiveX вы можете обнаружить в своей системе. В частности, электронные таблицы Excel, универсальный проигрыватель Windows Media Player и даже Web-браузер могут быть реализованы в виде элементов управления ActiveX.

Для того чтобы воспользоваться элементом управления ActiveX, нужно уметь его распознать. Этой цели в MAXScript служит ряд специальных функций.

Для того чтобы научиться обнаруживать и распознавать элементы упражнения ActiveX, выполните следующее упражнение.

1. Откройте окно редактора MAXScript Editor и введите следующий фраг­мент кода:

ws = newscript()

ShowAllActiveXControls to: ws

Функция newscript() открывает новое окно сценария. Значение, возвращаемое данной функцией, обозначает это окно как поток windowstream. А при выполнении метода showAllActiveXControls указывается, что вывод направляется в данное окно. Если бы пришлось открыть файл, вывод нужно было бы направить в поток filestream.

2. Выполните сценарий.

Откроется новое окно сценария, в котором появляются все элементы управления ActiveX, доступные в вашей системе. Многие из них не свя­заны с пользовательским интерфейсом, и поэтому ими нельзя воспользо­ваться в MAXScript.

3. Прокрутите список элементов управления ActiveX или же выберите из строки меню команду Search (Поиск) и найдите элемент Windows Media Player.

 

 

 


4. В этом списке указаны имена элементов управления ActiveX, зарегистри­рованных в вашей системе, наряду с их идентификационными номерами. Это так называемые идентификаторы класса, по которым распознаются отдельные элементы управления ActiveX, в том числе и в MAXScript.


Приложение

5. Запишите идентификатор класса для элемента управления Windows Media Player. Идентификатор класса этого элемента управления ActiveX будет одним и тем же на всех компьютерах. Для универсального проигрывателя он следующий:

{6BF52A52-394А-11D3-B153-0C04F79FAA6}

Для того чтобы встроить элемент управления ActiveX в свиток, выполните следующее упражнение.

1. Откройте новое окно редактора MAXScript Editor и введите следующие строки кода:

utility ActiveX Demo "ActiveX Demo" (

2. Установите курсор на последней строке (после круглой скобки). Выберите команду Tools ⇨ NewRollout из меню в окне редактора сценариев. Откроется окно редактора VMS.

3. Измените имя свитка на MovieDemo, введя его без пробелов, а заголовок свитка — на Movie Demo (Демонстрационный ролик).

4. Щелкните на пиктограмме OLE в нижнем ряду доступных элементов пользовательского интерфейса.

 

 


"OLE" означает "связывание и встраивание объектов". Это старое, но все еще применяемое название технологии ActiveX.

5. Перетащите курсор, чтобы создать элемент управления на используемой по умолчанию панели свитка. Точные размеры этого элемента особого значения не имеют, тем не менее он должен занимать большую часть панели.

 

 


Приложение

6. Щелкните на вкладке Properties.

 

 

 


Теперь необходимо указать тип элемента управления, т.е. упоминавшийся
выше идентификатор его класса.

7. Введите (или вставьте) записанный ранее идентификатор класса в поле
controlType, не забыв заключить его в фигурные скобки.

 

 


8. Введите в свиток кнопку с надписью Get Movie (Получить фильм).

 

 

 

 


9. Выберите команду File ⇨ Save из меню в окне редактора VMS, чтобы сфор­мировать код сценария для данного свитка. Закройте окно редактора VMS.

10. Введите круглую скобку, закрывающую блок кода утилиты. Теперь сценарий должен иметь следующий вид:


Приложение

utility ActiveXDemo "ActiveX Demo"
(

rollout movieDemo "Movie Demo" width:162 height: 300
(

ActiveXControl actx "{6BF52A52-394A-11D3-B153-00C04F79FAA6}" \
pos: [3,5] width:156 height:191

button btn1 "Get Movie" pos: [24,231] width:110 height:27

)

)

11. Введите обработчик событий open, чтобы дополнить утилиту свитком
с элементом управления ActiveX.

utility ActiveXDemo "ActiveX Demo"
(

rollout movieDemo "Movie Demo" width:162 height: 300
(

ActiveXControl actx "{6BF52A52-394A-11D3-B153-00C04F79FAA6}" \
pos:[3,5] width:156 height:191

button btn1 "Get Movie" pos: [24,231] width:110 height:27

)

on ActiveXDemo open do
(

addRollout MovieDemo

)

)

12. Выполните сценарий.

13. Перейдите к панели Utilities, выберите сначала кнопку MAXScript, а затем
утилиту ActiveXDemo из раскрывающегося списка Utilities. Появится свиток Movie Demo.

 

Остается лишь организовать реакцию на выбор кнопки GetMovie.


Приложение

14. Введите обработчик событий pressed в код сценария следующим образом:

utility ActiveXDemo "ActiveX Demo" (

rollout movieDemo "Movie Demo" width:162 height:300 (

ActiveXControl actx "{6BF52A52-394A-11D3-B153-00C04F79FAA6}" \

pos: [3,5] width:156 height:191

button btn1 "Get Movie" pos: [24,231] width:110 height:27 on btn1 pressed do (

file = getOpenFileName caption:"Choose An Avi File" \

types:"AVI(*.avi)" if file!= undefined do actx.URL = file

)

)

on ActiveXDemo open do (

addRollout MovieDemo

)

)

15. Вновь выполните сценарий и щелкните на кнопке GetMovie. Выберите любой файл формата AVI в своей системе и воспроизведите его. Обратите внимание на выражение actx.URL = file, где URL — это свойство элемента управления ActiveX. У всех элементов управления ActiveX имеется целый ряд свойств и методов (вызываемых фуикций). В MAXScript имеется функция showProperties, которая выдает перечень свойств указанного элемента управления ActiveX.

Завершенный вариант данного сценария находится в файле \appendix\ activeX Demo.ms на прилагаемом к этой книге CD-ROM.

Дополнительные сведения об элементах управления ActiveX приведены в следующем разделе справочного руководства по MAXScript: MAXScript Tools and Interaction with 3dsMax ⇨ ActiveX Controlsin MAXScript Rollouts

(Инструменты MAXScript и взаимодействие с 3dsMax ⇨ Элементы управления ActiveX в свитках, создаваемых средствами MAXScript).




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 493; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.