Выделка шкурок в домашних условиях 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 и тоскливо водить курсором по экрану. Приятная заставка (сплэш) ощутимо скрашивает ожидание и к тому же придает программе гораздо более профессиональный вид. Как это сделать? Элементарно! |