BiVANT  Книги     К началу главы

В.А. Биллиг, И.Х. Мусикаев
Visual C++  4 версия        
Книга для программистов.
"Русская редакция", 1997 г.

Глава 1(3)

Проектирование интерфейса пользователя  

Разрабатывая интерфейс пользователя в Visual C++, Вы будете работать с ресурсами проекта. Доступ к ним можно получить через окно проекта.

Ниже окна проекта расположены четыре кнопки. Вторая слева — кнопка ресурсов. Щелкнув ее, Вы измените статус окна проекта, превратив его в окно просмотра ресурсов. В окне появится папка с ресурсами проекта Hello. В папке лежат ресурсы разных типов (см. рис. 1.2.). Откройте папку ресурсов Dialog.

    1_2.gif (4043 bytes)

{Рис. 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.

  1_3.gif (3771 bytes)

  { Рис. 1.3. Страница свойств командной кнопки.}

 

Повторите эту работу и спроектируйте командную кнопку "Компьютер", связав с ней идентификатор IDC_Comp.

Теперь в окне удалите статический текст, информирующий о возможности размещения элементов управления: выделите его щелчком и нажмите клавишу Del.

Вместо удаленного создадим статический текст, приглашающий объекты You и Computer поздороваться друг с другом. Выбрав из панели инструментов соответствующий элемент управления (статический текст), разместите его в диалоговом окне. Для этого элемента так же, как и для командных кнопок, на странице свойств переопределите только свойство Caption, задав в окне Caption фразу "Поздоровайтесь, коллеги!".

Теперь создадим два окна редактирования для ввода/вывода сообщений объектов. Для этого дважды выберите на панели инструментов элемент управления, соответствующий окну редактирования, и перейдите на страницу свойств. Для идентификаторов окон редактирования выберите имена IDC_EDYou и IDC _EDComp. Чтобы можно было выводить многострочный текст, отмените свойство Auto Hscroll (автоматическая горизонтальная прокрутка), установив Multi-line (многострочный).

Еще раз выберите элемент управления статический текст и организуйте с его помощью подчеркивание, задав свойство Caption как строку, состоящую из символов подчеркивания.

Теперь, если это не сделано сразу, выберите подходящие размеры окна диалога, задайте размеры элементов управления, их компоновку и выровняйте их относительно друг друга. На данном этапе используется вторая панель с инструментами, облегчающими компоновку. Окончив эту работу, включите большой тумблер слева на этой панели, и увидите, как будет выглядеть диалоговое окно при выполнении приложения.

На этом этапе у нас получилось вот такое окно (см. рис. 1.4):

  1_4.gif (3953 bytes)

{Рис. 1.4. Окно приложения Hello}.

  Назад                Вперед

 

Hosted by uCoz