Сапоги - это наше лицо Фленов Михаил Спецвыпуск: Хакер, номер #050, стр. 050-060-1 (www.vr-online.ru) Дизайним интерфейс программы Поговорим о создании дизайна программы. В мире существует слишком много аляповатых программных интерфейсов, чтобы ты позволил себе выпустить на волю еще один из таких :). Чайковский в шоке Еще со времен DOS кодеры отличались стремлением к оригинальности и нестандартности во всем. Именно благодаря этим героям родился ASCII ART, demo-мейкинг и другие направления сцены. Недаром говорят, что самое значительное влияние на развитие IT оказал именно underground. Благодаря его стараниям и стремлению к совершенству мы живем в таком интересном информационном обществе :). Чтобы создать хорошую и удобную с точки зрения usability программу, нужно снабдить ее классическим прямоугольным окном, классическим меню, простыми красивыми иконками и картинками для кнопок, а также стандартными элементами управления. Только так можно получить лейбл от Microsoft. Если бы так думали все, то мы до сих пор жили бы в мире интерфейса Windows 3.1. Душа хочет большего, намного большего, а именно - шедевра. Window Начнем с дизайна самого окна, а точнее - с его формы. Главное окно может быть двух типов: одно- и многодокументным. Многодокументное окно может содержать внутри себя другие окна (дочерние), что происходит, например, во Flash MX, Photoshop и старых версиях Office. Такой тип чаще всего выбирают для программ, которые работают с документами и в которых нужно одновременно открывать несколько файлов. Однодокументные окна чаще всего используются для небольших утилит или в тех случаях, когда программа не рассчитана на работу с файлами или документами. Как украсить главное окно таких программ? В Windows есть функции только для придания окну стандартной или произвольной формы. Но мы не можем изменить оборку окна, поэтому придется самостоятельно искать выход из этой ситуации. Самый простой вариант - разместить на форме какую-то оборку типа Bevel или Panel в Delphi и придать ей выпуклость. Я иногда рисую на форме по краям окна картинку, содержимое которой зависит от программы. Например, на оборке окна можно размножить черепа или узоры, но главное - использовать системные цвета (использовать константы clBtnFace, clWhite и т.д.), а не указывать жесткие значения. Если юзер будет наблюдать интерфейс, выполненный в цветовой гамме, отличающейся от заданной, то твои старания окажутся потраченными впустую и испортят общую картину. Содержимое картинок на краях зависит от общего стиля и назначения программы. При ее использовании можно вообще отключить отображение стандартной Windows-шапки, а системные кнопки (<Свернуть> , <Развернуть> и <Закрыть> ) установить собственные. Кроме этого обеспечь возможность перетаскивания рисунка и изменения его размера в зависимости от размера окна. Контент окна Окно программы обязательно должно содержать меню, а убирать его без особой надобности категорически не рекомендуется. Я видел программы, в которых меню отсутствует - есть только панель с кнопками. В панели есть только стандартные кнопки со знакомыми символами создания, открытия и сохранения документа - и найти легко, и использовать удобно. А встретились уникальные кнопки с невиданными раньше рисунками - наводи на каждую указатель и жди подсказки. Это неудобно и скорее всего не обрадует твоих юзеров. При знакомстве с программой все пользуются сначала только меню, а к кнопкам привыкают только со временем. |