BiVANT Книги К началу главы |
В.А. Биллиг, И.Х.
Мусикаев
Visual C++ 4 версия
Книга для программистов.
"Русская редакция", 1997 г.
Глава 1(3)
Проектирование
интерфейса пользователя
Разрабатывая интерфейс пользователя в
Visual C++, Вы будете работать с ресурсами
проекта. Доступ к ним можно получить
через окно проекта.
Ниже окна проекта расположены четыре
кнопки. Вторая слева — кнопка
ресурсов. Щелкнув ее, Вы измените статус
окна проекта, превратив его в окно
просмотра ресурсов. В окне появится папка
с ресурсами проекта Hello. В папке лежат
ресурсы разных типов (см. рис. 1.2.). Откройте папку ресурсов Dialog.
{Рис.
1.2. Окно просмотра ресурсов проекта Hello}.
Вы сейчас займетесь редактированием ресурса
диалогового окна стартового приложения,
созданного AppWizard. Этот
ресурс, имеющий идентификатор
IDD_HELLO_DIALOG, связан с объектом диалоговое окно
класса CHelloDlg. Остов
класса CHelloDlg создан AppWizard
как класс, производный от базового класса
CDialog, находящегося в каркасе
приложения Hello, обеспечиваемом
библиотекой MFC. Вы еще будете заполнять
остов класса CHelloDlg с помощью ClassWizard..
Первым делом измените свойство, задающее язык ресурса. Щелкнув правой кнопкой
ресурс IDD_HELLO_DIALOG, выберите из контекстного
меню Properties
(Свойства), а затем в появившемся списке — Russian
(русский) как установку для языка.
Предостережение
Свойство языка важно установить до
начала проектирования, иначе выползут аж
два "жучка"!
Мы, например, разместили в диалоговом
окне одну кнопку управления и одно окно
редактирования. Затем вызвали ClassWizard..
В открывшемся окне выбрали вкладку
Member Variables (переменные-члены).
При правильной работе ClassWizard.
в окне Objects
должны появиться идентификаторы кнопки и
окна редактирования, но ничего подобного не
произошло!
Затем мы выбрали вкладку Message
Maps (отображения сообщений) и посмотрели
сообщения, сопоставленные нашим элементам
управления. У кнопки, как и положено,
появились сообщения BN_CLICKED и BN_DOUBLECLICKED.
Но посмотрите, что теперь произойдет!
Если вернуться в редактор ресурсов и
удалить в диалоговом окне статический
элемент, то после такой операции у кнопки
исчезнут сопоставленные ей сообщения.
Всех этих бед можно избежать, если
вовремя перейти на русский язык.
Теперь войдите в редактор
ресурсов, дважды щелкнув диалоговый
ресурс с идентификатором IDD_HELLO_DIALOG.
Появятся диалоговое окно создаваемого
приложения, которое можно населять
элементами управления, и две панели
инструментов: одна с набором элементов управления, другая
облегчает их компоновку в окне.
В соответствии со сценарием Вам нужно:
·
создать
две командные кнопки для объектов You и Computer;
·
создать
два соответствующих окна редактирования
для ввода и вывода сообщений объектов;
·
написать
реакции на события, инициируемые
пользователем, когда он щелкает командные
кнопки Вы
и Компьютер.
Выбрав из панели инструментов командную кнопку, разместите ее в
окне приложения. По умолчанию она получит
имя Button1. Нажмите правую кнопку мыши и из
контекстного меню выберите Properties
(свойства). На появившейся странице
свойств (см. рис. 1.3) замените в окне Caption
(заголовок) имя кнопки Button1 на "Вы", а в
окне ID
(идентификатор) замените идентификатор
ресурса IDC_Button1 на IDC_You.
Повторите эту работу и
спроектируйте командную кнопку "Компьютер",
связав с ней идентификатор IDC_Comp.
Теперь в окне удалите статический текст,
информирующий о возможности размещения
элементов управления: выделите его щелчком
и нажмите клавишу Del.
Вместо удаленного создадим статический
текст, приглашающий объекты You и Computer
поздороваться друг с другом. Выбрав из
панели инструментов соответствующий
элемент управления (статический текст),
разместите его в диалоговом окне. Для этого
элемента так же, как и для командных кнопок,
на странице свойств переопределите только
свойство Caption,
задав в окне Caption фразу "Поздоровайтесь,
коллеги!".
Теперь создадим два окна
редактирования для ввода/вывода
сообщений объектов. Для этого дважды
выберите на панели инструментов элемент
управления, соответствующий окну
редактирования, и перейдите на страницу
свойств. Для идентификаторов окон
редактирования выберите имена IDC_EDYou и IDC
_EDComp. Чтобы можно было выводить
многострочный текст, отмените свойство
Auto Hscroll
(автоматическая горизонтальная
прокрутка), установив Multi-line (многострочный).
Еще раз выберите элемент управления
статический текст и организуйте с его
помощью подчеркивание, задав свойство Caption как строку, состоящую из
символов подчеркивания.
Теперь, если это не сделано сразу,
выберите подходящие размеры окна диалога,
задайте размеры элементов управления, их
компоновку и выровняйте их относительно
друг друга. На данном этапе используется
вторая панель с инструментами,
облегчающими компоновку. Окончив эту
работу, включите большой тумблер слева на
этой панели, и увидите, как будет выглядеть
диалоговое окно при выполнении приложения.
На
этом этапе у нас получилось вот такое окно (см.
рис. 1.4):
{Рис.
1.4. Окно приложения Hello}.