Усовершенствованная графика в СИ Методы программирования часть 2 Москва 1991 стр.532
Меню обычно используется для того, чтобы донести опции до пользователя. Ваше меню должно быть одновременно и красочным и информативным. Оно может содержать графические символы, текст, а также комбинации графики и текста. Меню встречаются в разных формах и служат разным целям, но все меню следует создавать, придерживаясь одного основного принципа: они должны быть ясны и предназначаться для того, для чего они созданы.
Это - целая наука (или искусство) в создании программного
обеспечения. Искусно оформленная программа позволяет не только
фф,5ктивно с ней работать, но и получать от этого удовольствие. Лишь
некоторые программы достигли уровня искусства, возможно из-за того, что
лишь некоторые программисты поднялись до уровня художников
Следует отметить, что программное обеспечение само по себе является средой общения. В недавнем прошлом существенным было создание части программы лишь для выполнения некоторой функции, но не для контакта с человеком. Пользователь представлялся командной строкой и техническим справочником. Каждая команда готовилась синтаксически, поэтому требовалось точное знание всех команд языка.
Когда персональны; компьютеры получили широкое распространение, командные строки стали вызывать раздражение. Появление термина "user-friendly" ("дружественный") было связано с программным обеспечением, созданным для того, чтобы помочь пользователю (который, возможно, никогда не прикасался к сложной иерархии системных команд).
Как это ни странно, пользователи довольно скоро разочаровались в программном обеспечении, основанном на использовании меню. После появления систем, рабэгвющих юлькс через меню, пользователям захотелось сокращений. Звучное слово макро было заимствовано из области языков программирования и использовано для обозначения сокращенных (стенографических) названий выполняемых функций (или групп функций) без использования меню.
Через некоторое время стало ясно, что пользователи программного обеспечения имеют широкий диапазон требований и желаний. Ни одна
личность в этом удивительном мире не похожа на другую. Единственной возможностью удовлетворить таким широким потребностям рынка является включение всех возможных способоь ввода команд в один программный продукт. Это приводит к тому, что при проектировании и кодировании программного обеспечения основное внимание уделяется взаимодействию с пользователем, а не содержанию его.
Если вы считаетесь искусным программистом, вы должны создавать матобеспечение, которое работает с выпадающим меню для "мыши", командных строк, "макро", командных файлов, меню для дигитайзера -короче говоря, с любым вообразимом методом, причем мгновенно. Это приводит к тому, что создание интерфейса с пользователем становится наиболее сложной частью процесса создание программного пакета.
В этой главе описываются простые методы, которые могут быть использованы с EGA, чтобы высветить меню или выбрать из него что-либо. Вы также познакомитесь с наиболее общими методами быстрого перемещения блоков памяти с одного места на другое. Если ваше меню быстро возникает, то это происходит потому, что вам известно, как эффективно работать с памятью.
СОЗДАНИЕ МЕНЮ
Создание меню включает в себя как отбор функций, которые должны стать доступны/ и, так и кодирование меню в памяти. Особенно важно, чтобы функции, активируемые с помощью меню, были подходящими. Если вы уделите большую часть времени проектированию системы перед ее кодированием, то этим вы сбережете огромную часть времени при копировании.
Предположим, что вы потратили время на то, чтобы отобрать подходящие функции, активируемые с помощью меню, тогда вашей следующей задачей •-анет выбор типа меню которое вы хотите использовать. В GRAPHIQ, прототипе графической программы в Приложении А, был выбран простой подход для создания выпадающего меню, который, конечно, не является единовенным.
Выпадающие меню в графической моде EGA
Рис. 9-1 показывает фактическое выпадающее меню, используемое в GRAPHIQ. Текст программы GRAPHIQ в Приложении А включает это меню в несколько более усовершенствованной форме. Она была декларирована и инициализирована в DECLARES.H, головном файле, состоящем из деклараций описаний GRAh'!Q.
Описание массива указателей. Заметим, что меню на рис. 9-1 представляется как массив указателей на строк«. Вы можете описывать


Hosted by uCoz