Урок 7. Растягивание окна проекта мышью
Автор: PolN, действительный член клуба любителей ММВ
Все знают, что окна в Windows
можно растягивать мышью, произвольно меняя их размеры. Это можно проделывать
с большинством окон - с окнами проводника и различных приложений (за редким
исключением – не растягиваются окна таких программ, как калькулятор, ну и
еще окна свойств). А в ММВ размер окна, в пикселах, задается в генеральных
свойствах проекта. И что же, значит окно проекта будет всегда фиксированного
размера и ничего уже нельзя изменить?
А вот и нет! Окно ММВ-проекта тоже можно растягивать мышью в любую сторону
или сразу в обе. Нужно лишь написать для этого соответствующие скрипты,
благо команды в ММВ для этого имеются. Итак, приступим.
Для начала нарисуем в графическом редакторе внешний вид нашего окна.
Рассмотрим в качестве удобного примера окно видеоплеера:
Теперь нам нужно перенести рисунок этого плеера в проект. Не спешите просто
убрать все посторонние объекты (кнопки и т.д.) и вставить картинку в
проект. Ведь при растягивании окна мы будем растягивать и эту картинку, и
если не предпринять специальных мер, то она сильно исказится. Чтобы этого не
произошло, приходится идти на хитрость. Нужно выделить из рисунка некоторые
части и сделать их отдельными рисунками. Посмотрите, вот эти части:
Назовём эти объекты так:
LeftHeightKorn
Height
RightHeightKorn
Right
RightDownKorn
Down
LeftDownKorn
Left
Сначала расположим в проекте
изображения сторон окна плеера, при этом получится следующее:
Теперь растянем картинки (непосредственно мышью), чтобы они заполнили все
боковые области:
Далее поместим на свои места углы и поменяем цвет страницы на чёрный. В
итоге получаем как бы цельное окно видеоплеера, состоящее на самом деле из
восьми частей:
Осталось поместить в проект
остальные объекты - кнопки, заготовки для регуляторов и прочее:
Помните, как меняются размеры у
виндовых окно? Подносишь мышь к нижнему краю, и вид курсора изменяется на
двойную стрелку, указывая, что в этом месте окно можно схватить и тащить.
Подносишь мышь к нижнему правому углу - и курсор превращается в диагональную
стрелку, показывая, что можно ухватить окно за угол.
Мы должны сделать так же. Для
этого надо установить горячие области в нужных местах, которые будут
управлять скриптами изменения размеров окна. Расположение этих горячих
областей показано на рисунке. Одна справа, вторая снизу и небольшая в правом
нижнем углу - она должна располагаться выше, чем две другие. Назовём эти
области RightHot, DownHot
и RightDownHot. Для наглядности я обозначил
горячие области цветными прямоугольниками, у вас они естественно будут
невидимыми. Неважно какой они будут ширины, главное, чтобы они заходили на
окно проекта примерно на 5 пикселей.
Подготовительная работа на этом
закончена. Приступим к созданию скриптов, которые будут управлять изменением
размеров окна и перемещением его элементов, создавая иллюзию плавного
растягивания окна в любую сторону.
Дальше |