Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

Выделка шкурок в домашних условиях

6th (6th@mail.ru)

Спецвыпуск: Хакер, номер #053, стр. 053-080-5


procedure TfrMain.PlayerNotify(Sender: TObject);

begin

with Sender as TMediaPlayer do

begin

frMain.Caption := 'QDMP - ' + Modes[Mode];

Notify := True;

end;

end;

Прилипания - это вообще классика :). Добавляем в объявления:

procedure WMWINDOWPOSCHANGING(Var Msg: TWMWINDOWPOSCHANGING);

message WM_WINDOWPOSCHANGING;

И пишем обработчик:

//выполняется при изменении положения окна

procedure TfrMain.WMWINDOWPOSCHANGING(var Msg:TWMWINDOWPOSCHANGING);

var

Screen : TRect;

StickAt : Word;

begin

//как близко нужно приблизиться к краю экрана

StickAt := 20;

//получаем размер экрана

SystemParametersInfo(SPI_GETWORKAREA, 0, @Screen, 0);

with Screen, Msg.WindowPos^ do begin

//корректируем положение окна

Right := Right - cx;

Bottom := Bottom - cy;

if abs(Left - x) <= StickAt then

x := Left;

if abs(Right - x) <= StickAt then

x := Right;

if abs(Top - y) <= StickAt then

y := Top;

if abs(Bottom - y) <= StickAt then

y := Bottom;

end;

end;

Все, готово. Можно запускать и наслаждаться. Конечно, до нормального плеера еще далеко, но все-таки в первую очередь мы стремились ковать дизайн, а не mediaplayer :).

SkinBuilder

Если тебя не устраивают стандартные скины Almediadev, не отчаивайся. На их сайте лежит крайне полезный пятиметровый файлик, включающий в себя справку по DynamicSkinForm, несколько примеров и утилитка с немудреным названием SkinBuilder. Эта программка и решит твои проблемы. Конечно, можно прочитать Help и клепать скины самостоятельно, но SkinBuilder здорово упрощает и ускоряет этот процесс. Работать с программой довольно просто, можно разобраться даже без чтения справки. Генератор скинов от "Алмедии" позволяет редактировать существующие шкуры, оценивать, как будет выглядеть форма и ее элементы не выходя из программы и, естественно, создавать новые скины. После того как ты нарисовал кнопочки и окошечки в любимом редакторе, столкнешься с проблемой формирования их в виде, понятном DynamicSkinForm, и здесь SkinBuilder – неоценимый помощник. В общем, разбирайся и Photoshop тебе в руки. Может, через некоторое время твои работы попадут в коллекцию официальных скинов.

Напоследок

Я уже говорил, что ни один скин в мире не спасет глючную программу от фиаско. В последнее время я часто наблюдаю, как люди, заполучившие такое мощное средство создания интерфейса, как, например, DynamicSkinForm, начинали забивать на основные принципы построения GUI, а от внешнего вида их программ меня начинает трясти. Ничто не поможет человеку приобрести вкус и чувство меры, так что я скажу одно: если твоя софтина спроектирована наспех и выглядит коряво и безвкусно, а ты надеешься сгладить впечатление каким-нибудь skins-engine - не расстраивайся! Просто ты неудачник и ставить SUIPack еще не время :).

И еще одно добавление к способам реального повышения рейтинга своего творения. Если программа большая и ресурсоемкая, будет довольно утомительно ждать, пока она запустится, а при этом слушать тормозящий Winamp и тоскливо водить курсором по экрану. Приятная заставка (сплэш) ощутимо скрашивает ожидание и к тому же придает программе гораздо более профессиональный вид. Как это сделать? Элементарно!

Назад на стр. 053-080-4  Содержание  Вперед на стр. 053-080-6