Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #66, ИЮНЬ 2004 г.

Обзор компонентов

Фленов Михаил

Xakep, номер #066, стр. 066-122-1


(horrific@vr-online.ru, www.vr-online.ru)

AlphaEffects – прозрачность с пользой

Давным-давно, в тридесятом государстве, в одном маленьком журнале Хакер я описывал работу с функцией UpdateLayeredWindow, которая позволяет сделать окно прозрачным. Вещь хорошая, но в реальной жизни я ей применения не нашел. Видимо, плохо искал, потому что сегодня наткнулся на этот компонент и понял, что мое воображение оставляет желать лучшего. AlphaEffects создает с помощью прозрачности умопомрачительные эффекты, которые реально украсят как минимум появление окна «О программе», а можно таким образом отображать любые окна.

Особые отличия

+ Позволяет делать анимационные эффекты с использованием прозрачности для любых форм.

+ Это не компонент, а модуль, поэтому не требует установки в Delphi. Достаточно вызвать только одну функцию, и все готово.

+ Включает в себя небольшую тележку (17 шт.) симпатичных визуальных эффектов, которые украсят появление и исчезновение любого окна.

+ Работает быстро и без тормозов.

- Для создания эффекта используется функция UpdateLayeredWindow, которая есть только в Win2k и старше. При этом в семействе окон 9х можно будет увидеть только Access Violation или «Функция не найдена».

- Работает только с диалогами, а как хотелось бы еще и с компонентами. Хотя я, наверное, губу раскатал, пойду закатывать обратно.

Диагноз

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

Ссылки

Исходник и демку забираем здесь: www.am-ende.net/delphi/alphaeffects/.

Перемещаемые компоненты

Описание:

В моих приложениях очень часто возникает необходимость перемещать компоненты по форме во время выполнения программы, как в дизайнере форм. Чтобы это реализовать, приходится писать не одну строчку кода, и выглядит это не очень красиво. Геморроя добавляется, когда нужно двигать или изменять размеры сразу нескольких компонентов. Скачай и установи себе TStretchHandles, и ты лишишься болей в заднем проходе от кодирования, изменения и перемещения компонентов в Runtime.

Особые отличия

+ Хотя все это могло быть модулем, программисты сделали компонент, что иногда очень удобно.

+ Достаточно вызвать метод Attach, а в качестве единственного параметра указать нужный компонент, как он выделяется рамкой и становится перемещаемым, и можно мышкой изменять размеры.

+ Может работать с группой компонентов.

+ Можно устанавливать сетку и регулировать ее размер, как по горизонтали, так и по вертикали.

- Иногда компонент глючит, поэтому готовую программу надо хорошенечко протестить.

Диагноз

На скрине ты можешь видеть, как выделены три кнопки в группу. Вокруг каждого компонента появляются точки определенного цвета (в данном случае красного), и сразу видно, какой компонент можно перемещать. В самостоятельных реализациях перемещения компонентов на такие прибамбасы времени не хватает. Все преимущества TStretchHandles говорят о том, что компонент must have!

Ссылки

Забираем файл здесь: http://z-ol.chat.ru/cmplib/handles.zip.

Содержание  Вперед на стр. 066-122-2
<<< НАЗАД ||| ГЛАВНАЯ