230______________________________________________Глава 4 ^k

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

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

4.1.2 Многооконные приложения                         |

Чаще всего сколько-нибудь сложное приложение не может ограничиться од- ^1
ним окном. Поэтому прежде всего вам нужно решить вопрос управления окнами. ^В
Есть две различные модели приложений: с интерфейсом одного документа (SDI) и ^1
с интерфейсом множества документов (MDI).                                ^1

В большинстве случаев следует отдавать предпочтение интерфейсу SDI. Этот ^1
интерфейс не обязательно предполагает наличие действительно только одного ^1
окна, как в приложениях Windows типа «Калькулятор». Такое приложение, как ^1
«Проводник» Windows, также является SDI приложением, но в нужные моменты ^1
оно создает вторичные окна для поиска файлов или папок, задания параметров, ^1
просмотра свойств файлов и других целей.                                  ^1

С другой стороны, у приложений MDI тоже есть свои преимущества. Хороший ^1
пример такого приложения — Microsoft Word. В приложении MDI имеется роди- ^1
тельское (первичное) окно и ряд дочерних окон (называемых также окнами доку- ^1
ментов). Бывают ситуации, когда выгодно отображать информацию в нескольких ^1
окнах, которые совместно используют элементы интерфейса (например, меню или ^В
инструментальные линейки). Окна документов управляются и ограничиваются ро- ^1
дительским окном. Если вы уменьшаете размер родительского окна, то дочерние ^1
окна могут исчезать из поля зрения.                                       ^1

Случаи, когда нужно использовать модель MDI, довольно редки. Прежде все- ^1
го, это следует делать только тогда, когда все дочерние окна будут содержать иден- ^В
тичные объекты — например, текстовые документы или электронные таблицы. Не ^В
применяйте MDI, если вы собираетесь работать в приложении с дочерними окнами ^1
разного типа (например, текстовыми документами и электронными таблицами од- ^1
новременно). Не применяйте MDI, если вы хотите управлять тем, какое из дочер- ^1
них окон должно находиться поверх других, используя свойство '«всегда наверху», ^1
или если вы хотите управлять размерами окон, дела"ть их невидимыми и т. п. Ин- ^1
терфейс MDI предназначен для очень узкого диапазона приложений, в которых все ^1
дочерние окна однородны (как это имеет место в Word или Excel). Приспособить ^1
его к чему-то другому не получится. Наконец, следует заметить, что Microsoft не ^1
поощряет разработку новых приложений MDI (в основном потому, что для преды- ^1
дущих версий Windows было написано слишком много плохих программ этого ^1
типа). Подробнее о технологии построения приложений MDI будет рассказано в ^1
разделе 4.7.5.                                                            ^1

К внешнему виду окон в Windows предъявляются определенные требования. ^1
К счастью, C++Builder автоматически обеспечивает стандартный для Windows вид ^1
окон вашего приложения. Но вам надо продумать и указать, какие кнопки в поло- ^1