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

Real audio is not skinnable?

Woz3qK (woz3qk@mail.ru)

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


Точно так же можно добавить различные стили окна. Для большинства программ сойдет и обычный вид окна, но не все же желают создавать Windows-подобные интерфейсы? Из подобных соображений и нужно делать фоновую картинку программы. В примере используются bsNone и bsSingle, но что нам мешает поставить bsDialog, bsSizeable, bsSizeToolWind? Все это зависит исключительно от фантазии программирующего.

Загрузка изображения из файла ресурсов для объекта Bitmap выполняется с помощью метода LoadFromResourceName (Instance: THandle; const ResName: string). Файл ресурсов может быть подготовлен с помощью любого редактора ресурсов. Перед использованием файл ресурсов следует подключить к модулю директивой компилятора. К примеру, если надо подключить файл data.res, делаем следующее:

{$R data.res}

Image1.Picture.Bitmap.LoadFromResourceName(Instance, 'ris1');

ris1 - имя ресурса. Указывается при создании изображения в файле ресурсов.

Кстати, для украшения программы в большинстве случаев используются кнопки различной формы (например, круглые). Для них есть два варианта исполнения. Первый рассчитан на упорных и трудолюбивых программистов. Суть его в том, что в прямоугольную кнопку впихивается круглая (под круглой можно понимать и "с закругленными краями"), а края, чтобы в глаза не бросались, красят в цвет фона,. Минусов этого метода уйма. Главный из них в том, что для каждого нового фона придется менять цвет зарисовки по углам картинки, которая оказывается привязанной к конкретному фону. Второй способ намного лучше: сделать все пиксели определенного цвета элемента прозрачными. У имейджа есть свойство Transperent, и если присвоить ему значение true, то Delphi автоматически возьмет левый нижний пиксел и все пиксели этого цвета сделает прозрачными. Получается очень красиво, только обидно, что данная функция не встроена в Visual Studio - там для вывода необходимо рисовать картинку на форму, а с рисунком не поработаешь. Нет в нем свойств (еще бы, все что умеет редактор форм в VC++ - раскидать системные common controls по окну, никакими классами там не пахнет! - прим. AvaLANche'а).

У меток также много функций. Меня интересовали цвет, шрифт, позиция, размер. Не забывай, что удобнее всего использовать цвета системы RGB.

Дизайнерский подход к созданию скинов

При создании скинов надо помнить, что они должны быть настраиваемы (явно или с помощью специальных программ). И они не должны быть однообразными. Придумывай что-то новое и оригинальное – ты живешь в век абстракции :). В вашем скине не должно быть ярких и ядовитых цветов - они режут глаз, человек быстро устает и теряет желание работать с твоей программой (попробовал - весело, а долго юзать - глаза болят). В современном мире остается все меньше прямоугольных объектов - все принимает обтекаемые формы. Человеческому глазу приятнее плавные линии без острых углов. Не забывай об этом.

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