Программирование в системе Windows2000, страница 4

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

Если окно имеет рамку установления размеров, пользователь может изменить размер окна, перетаскивая рамку с помощью устройства позиционирования. Пользователь также может вызвать на выполнение команду Size из всплывающего меню окна. Обычно при изменении пользователем размеров окна вслед за указателем перемещается контурное представление окна. В некоторых системах может выполняться динамическая перерисовка окна в процессе изменения его размеров. Применяются те же правила, что и при перемещении окна: этот графический вывод не следует запрещать, и он должен быть максимально эффективным. Пользователь может использовать клавиатуру, выбрав команду Size и применяя клавиши со стрелками для изменения размеров окна. Нажатие клавиши Enter подтверждает установку нового размера окна, а нажатие клавиши Esc отменяет эту операцию.

Операция развертывания, как следует из ее названия, развертывает окно до его максимальных размеров. Этими размерами являются размеры дисплея, в которых не учитывается пространство, занимаемое панелью задач. Для дочерних окон MD1 максимальными размерами являются размеры клиентской области родительского окна. В приложениях не следует использовать постоянные размеры дисплея, а приспосабливаться к форме и размерам дисплея, определяемым системой. Для этого служит стандартная системная функция SefV^indewPlacement, которая автоматически размещает окно надлежащим образом. Пользователь может развернуть окно, выбрав кнопку развертывания в области заголовка окна или команду Maximize из всплывающего меню окна. После развертывания окна кнопка развертывания заменяется кнопкой восстановления, команда Maximize всплывающего меню окна становится недоступной, а команда Restore — доступной.

После свертывания приложения оно представлено на панели задач. Дочерние окна MDI свертываются внутри родительского окна. Для свертывания окна пользователь выбирает кнопку команды свертывания в области заголовка окна или команду Minimize из всплывающего меню окна. Когда окно свернуто, команда Minimize становится недоступной, а команда Restore — доступной.

Пользователь может восстановить предыдущие размеры развернутого или свернутого окна, выбрав кнопку команды восстановления (только на развернутых окнах) или команду Restore из всплывающего меню окна. После восстановления окна команда Restore во всплывающем меню окна становится недоступной, а команды Maximize (если она применима) и Minimize — доступными. После восстановления развернутого окна кнопка команды восстановления в области заголовка заменяется кнопкой команды развертывания. Пользователь может восстановить окно, выбрав пиктограмму приложения на панели задач, команду Restore во всплывающем меню окна, кнопку команды восстановления (только в развернутых окнах) или используя комбинацию клавиш Alt+Tab и Shift+Alt+Tab.

Все окна с изменяющимися размерами должны включать размерную ручку. Размерная ручка — это специальный захват, показанный на рис. 1.1, позволяющий изменять размеры окна одновременно в горизонтальном и вертикальном направлениях. Манипулируя размерной ручкой, пользователь перетаскивает ее устройством позиционирования, а окно изменяет свои размеры так же, как при использовании рамки установления размеров. Размерная ручка должна всегда находиться на пересечении горизонтальной и вертикальной линеек прокрутки или в правом нижнем углу окна. Если окно имеет строку состояния, размерная ручка находится справа от строки состояния. В определенный момент времени окно может иметь только одну размерную ручку.