Программирование на C++ глазами хакера


Интерфейс главного окна


С чего начинается написание любой программы? Конечно же, с интерфейса главного окна. Как мы уже поняли, оно должно быть прямоугольным и обязательно содержать системное меню. Никогда не убирайте обрамление главного окна без особой надобности.

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

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

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

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

Названия пунктов меню должны быть максимально информативными и при этом, желательно, состоять не более чем из трех слов. Подробную информацию всегда можно вывести в строке состояния. Для стандартных пунктов меню неплохо использовать уже устоявшиеся названия. Например, для меню "Файл/Создать" нет смысла писать "Файл/Создать новый взлом". Это слишком длинное название и абсолютно бессмысленное.

Панель инструментов тоже должна быть максимально приближена к стандартному виду. Панель, содержащая основные команды (создать, открыть, печать и т. д.), должна быть вверху окна. Нельзя располагать ее по краям или внизу. Картинки лучше всего использовать стандартные, которые применяются в таких программах, как MS Office или других программах корпорации Microsoft. Пользователи сроднились с ними и быстрее смогут привыкнуть к вашему интерфейсу.


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

Рисунки должны быть информативными и вызывать ассоциации с выполняемой командой. Если под кнопкой с рисунком бегемота спрятаны настройки цветовой палитры, то об этом не догадается даже Настродамус.

Рекомендуется делать панели настраиваемыми, чтобы кнопки на них можно было убирать или добавлять по своему желанию. Но если кнопок менее 10, то это будет уже лишним. В таком случае можно просто добавить возможность отображать или прятать панель.

Кнопки должны группироваться на панели по тематике. Если их очень много, то можно разбить на несколько панелей, только не надо валить все в одну кучу. Для группировки можно использовать положение соответствующих команд в главном меню. Если панелей набирается более двух, то пользователь должен иметь возможность выстраивать панели так, как ему удобно, а также прятать или восстанавливать любую из них. Это позволит каждому решать самому, сколько необходимо рабочего пространства в главном окне и как оно будет использоваться.


Содержание раздела