Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 137

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 131 132 133 134 135 136 < 137 > 138 139 140 141 142 143 .. 204 >> Следующая

Методика добавления средств разделения окон такова.
• В класс главного окна добавьте переменную, являющуюся объектом MFC-класса CSplitterWnd.
• Переопределите виртуальную функцию onCreateClient, вызываемую при первичном создании главного окна.
• Для разделения окна следует из функции OnCreateClient вызвать функцию Create для объекта класса CSplitterWnd, который автоматически создает одно или несколько окон представления.
• Разделенное окно отображает горизонтальную и вертикальную линии разбивки или линии обоих типов, что позволяет разделить окно программы на отдельные окна представления (или панели).
• При создании новой программы с помощью мастера AppWizard можно добавить возможность разделения окна представления, выбрав соответствующую опцию в диалоговом окне Advanced Options.
При редактировании данных в одной панели данные в другой панели должны быть модифицированы. Перечислим основные действия для эффективного выполнения изменений.
• При изменении данных в окне представления (панели) объект представления вызывает функцию CDocument: :UpdateAllViews для объекта документа, передавая ей информацию в виде рекомендаций, описывающих изменения.
• Функция UpdateAllViews вызывает виртуальную функцию OnUpdate для каждого объекта представления, передавая ей рекомендации. Чтобы сделать недействительной измененную область окна представления, переопределите виртуальную функцию, которая вызывает метод CWnd: : InvalidateRect. Функция OnUpdate определяет размеры недействительной области на основании рекомендуемой информации.
• Функция InvalidateRect вызывает функцию OnDraw класса представления, которая, в свою очередь, вызывает функцию GetclipBox, чтобы получить размеры недействительной области и перерисовать только тот текст и графику, которые находятся в этой области.
Глава 14
Перемещаемые панели и строки состояния
• Добавление в новую программу перемещаемой панели инструментов и строки состояния
• Добавление перемещаемой панели инструментов в программу MiniDraw
• Добавление строки состояния в программу MiniDraw
• Текст программы MiniDraw
В этой главе вы научитесь создавать сложные элементы интерфейса, поддерживаемые библиотекой MFC: перемещаемые панели инструментов и строки состояния. Перемещаемая панель инструментов состоит из совокупности кнопок. Щелчок на любой из них приводит к немедленному выполнению команды или выбору опции. Панели инструментов можно "закреплять" на любом краю окна программы или перемещать в окне. Строка состояния обычно отображается внизу главного окна и используется для вывода сообщений, отображения состояний клавиш или указания режимов программы (например, состояние клавиши Caps Lock или режим вставки текста в текстовом процессоре).
Вы узнаете, как использовать мастер AppWizard для создания новой программы с перемешаемой панелью инструментов и строкой состояния и как настроить эти элементы для вашего приложения, а также, как добавить перемещаемую панель инструментов и строку состояния в существующую MFC-программу. В упражнениях они будут добавляться в программу MiniDraw, созданную ранее.
В данной главе кратко описаны еше два элемента интерфейса: диалоговая панель, напоминающая панель инструментов, но основанная на шаблоне диалогового окна, включающая элементы управления, отличные от кнопок (например, списки), и переключаемая панель (rebar control), являющаяся контейнером для переупорядочиваемых панелей инструментов и других элементов управления (как в Internet Explorer). Панели инструментов, строки состояния, диалоговые панели и переключаемые панели принадлежат общей категории элементов, называемых панелями управления. Библиотека MFC предоставляет отдельные классы, которые порождаются от класса CControlBar, для манипулирования панелями управления любого указанного типа.
Добавление в новую программу перемещаемой панели и строки состояния
При создании нового приложения с помощью AppWizard в главное окно программы можно включить перемещаемую панель инструментов, строку состояния или оба эти элемента, задавая соответствующие установки в окнах мастера AppWizard. Панель инструментов и строка состояния, сгенерированные AppWizard, содержат типичный набор компонентов и, вероятно, их необходимо будет изменить в соответствии с фактическими командами и свойствами программы.
В этом параграфе с помощью AppWizard генерируется простая программа, отображающая перемещаемую панель инструментов и строку состояния. При создании программы используйте методику, описанную в гл. 9 при создании программы WinGreet. В диалоговом окне New Project Workspace введите в поле Name имя программы Test, а в Location — название соответствующей папки проекта. Во всех диалоговых окнах мастера AppWizard, за исключением диалогового окна Step 4, выберите такие же установки, как в гл. 9. Установите в диалоговом окне флаги Docking toolbar и Initial status bar. После запроса "How do you want your toolbars to look?" выберите опцию Normal для получения панели инструментов обычного вида. (При выборе опции Internet Explorer ReBars панель инструментов вместе с пустой диалоговой панелью разместится в переключаемой панели. Переключаемые панели кратко рассмотрены в конце этой главы.)
Предыдущая << 1 .. 131 132 133 134 135 136 < 137 > 138 139 140 141 142 143 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100