Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT - [34]

Шрифт
Интервал

>//=====================================================

>BEGIN_MESSAGE_MAP(CMyDialog, CDialog)

> ON_BN_CLICKED(IDC_DEFAULT, OnDefault)

>END_MESSAGE_MAP()


>//=====================================================

>// Метод OnDefault класса CMyDialog

>//=====================================================

>void CMyDialog::OnDefault() {

> // TODO:

> m_Text = "Start Text";

> UpdateData(FALSE);

> MessageBeep(0);

>}


>//=====================================================

>// Метод OnCancel класса CMyDialog

>//=====================================================

>void CMyDialog::OnCancel() {

> // Подаем звуковой сигнал

> MessageBeep(0);


> // Вызываем метод OnCancel базового класса

> CDialog::OnCancel();

>}


>//=====================================================

>// Метод OnOK класса CMyDialog

>//=====================================================

>void CMyDialog::OnOK() {

> // Вызываем метод OnOK базового класса

> CDialog::OnOK();


> // Подаем звуковой сигнал

> MessageBeep(0);

>}


>//=====================================================

>// Метод InitInstance класса CMFDialogApp

>//=====================================================

>BOOL CMFDialogApp::InitInstance() {

> // Создаем объект класса CMyDialog

> CMyDialog dlgTest;


>m_pMainWnd = &dlgTest;


> // Отображаем на экране модельную диалоговую панель

> dlgTest.DoModal();


> // Отображаем на экране значение переменной m_Text,

> // ввходящей в класс CMyDialog

> AfxMessageBox(dlgTest.m_Text);

> return FALSE;

>}


Создайте файл ресурсов MFDlgRes.rc и добавьте в него новую диалоговую панель. На экране откроется окно редактора диалоговой панели и панель с инструментами Controls (рис. 2.28). По умолчанию новая диалоговая панель называется Dialog и содержит две кнопки OK и Cancel.

Вы можете добавлять в диалоговую панель другие органы управления – кнопки, переключатели, поля редактирования, статические текстовые поля, рисунки. Более того в Visual C++ версии 4.0 вам становятся доступны новые органы управления – многостраничные диалоговые панели, поля для просмотра видеоинформации и т. д.

Рис. 2.28. Создание диалоговой панели


В следующей таблице мы кратко описали органы управления диалоговой панели, которые можно добавлять с помощью панели инструментов Controls.


Кнопка Название Описание

Select Если вы нажмете эту кнопку, то сможете выбрать органы управления, которые уже расположены в диалоговой панели

Picture Рисунок

Static Text Статическое текстовое поле

Edit Box Поле редактирования

Group Box Прямоугольник, объединяющий группу органов управления

Button Кнопка

Check Box Переключатель в виде прямоугольника

Radio Button Переключатель круглой формы (радиопереключатель)

Combo Box Список с окном редактирования

List Box Список

Horizontal Scroll Bar Горизонтальная полоса просмотра

Vertical Scroll Bar Вертикальная полоса просмотра

Animate Окно просмотра видео

Tab Control Позволяет размещать в диалоговой панели несколько страниц органов управления, каждая из которых имеет “закладку”. Пользователь одновременно видит закладки всех страниц и может выбрать любую из них.

Tree Control Позволяет просматривать иерархические (древовидные) структуры данных. Такой орган управления можно использовать для отображения структуры каталогов на диске, заголовков статей справочной системы и т. д.

List Control Может использоваться для отображения списка пиктограмм

Hot Key Орган управления Hot Key предназначен для ввода комбинации клавиш акселераторов

Slider Движок. Обычно используется при отображении видеоинформации. Позволяет перейти к просмотру произвольного кадра

Progress Линейный индикатор. Позволяет отображать на экране ход какого-нибудь процесса, например процесса копирования файлов

Spin Обычно используется для увеличения или уменьшения значения какого-нибудь параметра

Custom Control Орган управления, внешний вид и назначение которого определяется пользователем


Для нашего первого приложения с диалоговой панелью вам надо добавить только одну кнопку, одно текстовое поле и одно поле редактирования.

Сначала добавьте кнопку. Для этого щелкните по изображению кнопки в панели Controls. Затем переместите указатель мыши в то место диалоговой панели, где вы желаете разместить кнопку и нажмите левую клавишу мыши. В диалоговой панели появится изображение кнопки, названное по умолчанию Button1. Выполните по ней двойной щелчок левой клавишей мыши. На экране появится панель Push Button Propeties, определяющая различные характеристики кнопки. В первую очередь вас будут интересовать поля Caption и ID. В поле Caption введите название кнопки Default, а в поле ID ее идентификатор IDC_DEFAULT. Остальные характеристики кнопки оставьте без изменения.

Находясь в редакторе ресурсов вы можете сразу попробовать как работает диалоговая панель. Найдите диалоговую панель Dialog (рис. 2.29). Если ее нет на экране, выберите из меню View строку Toolbars и в открывшейся диалоговой панели Toolbars установите переключатель Dialog. Диалоговая панель Dialog содержит ряд кнопок. Первая кнопка, на которой нарисован тумблер, позволяет проверить, как будет работать диалоговая панель.

Рис. 2.29. Панель управления Dialog


Остальные кнопки диалоговой панели Dialog позволяют задавать выравнивание органов управления друг относительно друга и относительно границ панели. Последние две кнопки устанавливают разметку на диалоговой панели. Разметка поможет вам ровнее разместить органы управления.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

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