Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
16.02.2016
Размер:
4.72 Mб
Скачать

3.5. Установка статических текстов

Элемент управления StaticBox(статический текст) предназначается для отображения различных надписей. Содержание текста определяется на этапе проектирования свойствомCaption(заголовок), которое можно установить в диалоговом окнеTextProperties. Продемонстрируем технологию установки надписей на примере установки заголовочного текста «Введите геометрические параметры проектируемого стакана» для группы пока еще не установленных окон редактирования, обеспечивающих ввод исходной информации. Для этого выполним следующие действия:

 установим в верхней правой части диалоговой панели элемент управления StaticBox

так как это описано в п. 2.1.4.;

щелкнем левой клавишей мыши по тексту Staticокне Элемента управления и в появившемся контекстном меню выберем командуProperties. В ответ появляется диалоговое окноTextProperties(Рис.5).

 На вкладке этого окна Generalв полеCaptionудалим текстStaticи напишем требуемый текст «Введите геометрические параметры проектируемого стакана, а затем включим флажкиVisible(видимый) иGroup(группировка).

 Далее откроем вкладку Styles(стили) и на ней включим флажкиSunken(углубленный) иBorder(кромка), а затем откроем вкладкуExtended(распространенный)Styles(стиль), на которой включим флажокClient(клиентская )edge(кромка).

В результате наш текст на диалоговой панели будет помещен в углубленную как бы объемную рамку. Аналогично устанавливаем на диалоговой панели все элементы управления StaticBox, предусмотренные проектом интерфейса.

Для того, чтобы все установленные тексты отображались в процессе исполнения проекта на русском языке необходимо установить этот язык для ресурса проекта IDD_CUPST_DIALOG. Для этого выполним следующие действия:

 в окне проекта включим вкладку ResourceView, и откроем папку ресурсаDialog, щелкнув левой клавишей мыши по кнопке +, связанной с этой папкой;

щелкнем по тексту IDD_CUPST_DIALOGправой клавишей мыши и, появившемся контекстном меню, ключим командуProperties. В ответ появляется диалоговое окноDialogPropertiesс единственной вкладкойResource(Рис. 6). В окнеLanguageэтой вкладки из списка выбираемRussiаnи щелкаем по кнопкеx(Close).

Теперь все тексты нашего проекта, установленные на панели в период проектирования, будут отображаться на русском языке и в период выполнения.

Рис. 5. Окно свойств элемента управления StaticBox

Рис.6. Окно свойств диалогового ресурса проекта для установки русского шрифта в файлах ресурса проекта

3.6. Установка и настройка окон редактирования

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

Технология установки и настройки ЭУ EditBoxсводится к выполнению следующих действий:

 устанавливаем группу из пяти окон редактирования для ввода исходных данных с общим поясняющим текстом «Введите геометрические параметры проектируемого стакана» и четыре окна для вывода результатов расчета с общим поясняющим текстом «Результаты расчета параметров стакана». Технология переноса и установки ЭУ EditBoxиз панелиControlsна диалоговую панель приложения описана в п. 2.1.4.

 для каждого установленного окна редактирования выполняем настройку требуемых значений свойств. Для этого щелкнем правой клавишей мыши по полю очередного установленного окна редактирования и в появившемся контекстном меню включим команду Properties. В ответ появляется окно свойствEditProperties,(Рис.7), с помощью которого устанавливаем все необходимые свойства этого ЭУ. На вкладкеGeneralв полеIDустанавливаем новое имя окнаIDC_EDIT_d(предназначено для ввода наружного диаметра деталиd) и включаем флажкиVisible,Group,Tabstop. На вкладкеStylesвключаем флажкиAutoHscrolиBorder, а на вкладкеExtendedStylesвключаем флажкиClientedge,Staticedge,Modalframe. С такими свойствами наше окно будет иметь привлекательный объемный вид.

Рис.7. Окно свойств ЭУ EditBox

 теперь необходимо для каждого окна редактирования определить переменную, которая будет хранителем возможных значений, вводимых в это окно. Переменная окна редактирования должна стать одним из свойств диалоговой панели. Для связывания переменной окна и диалоговой панели воспользуемся возможностями программы ClassWizard(мастер Классов) и выполним следующие действия:

щелкнем правой клавишей мыши по полю очередного окна редактирования и в появившемся контекстном меню включим пункт ClassWizard. В ответ появляется диалоговая панельMFCClassWizard(Рис.8).

Откроем вкладку MemberVariables(переменные-члены) и: оставим без изменения значения в поляхProjectиClassname, а в полеControlIdsотметим имя обрабатываемого окна редактирования, например,IDC_EDIT_dи нажмем клавишуAddVariable(добавить переменную). В ответ появляется окноAddMemberVariable(Рис. 8.), в котором сделаем описание создаваемой переменной: в полеMemberVariableNameвведем значениеm_Edit_d, в полеCategory– из списка выберем имяValue, а в полеVariableTypeвыберем из списка значениеdouble. Нажимаем кнопку ОК. и возвращаемся во вкладкуMemberVariables(переменные- члены класса) окнаMFCClassWizard. В полеControlIdsотмечаем имя следующего диалогового окна и повторяем описанные выше действия.

 Во вкладке MessageMaps(карты сообщений) создадим для каждого вводного окна редактирования функции для изменения вводимых значений при новых сеансах запуска приложения. Для этого: значения в полях окон редактированияProjectиClassnameоставим без изменения; В окнеObjectIDSвыберем из списка, например, окно редактирования на диалоговой панелиIDC_EDIT_d, в окнеMessagesвыберем из списка событиеEN_CHANGE, а в окнеMemberfunctionsзначение поля оставим без изменения. Далее включаем кнопкуEditCode, в результате чего оказываемся в теле созданного шаблона функции void CCupStDlg::OnChangeEDITd() в файлеCupStDlg.cpp. В тело этой функции впишем функцию CWnd::UpdateData(TRUE), посредством которой данные из окна редактированияIDC_EDIT_d, будут передаваться в переменнуюm_Edit_dкода программы; Аналогичную работу проделаем в этой вставке для окон редактированияIDC_EDIT_h,IDC_EDIT_Rn,IDC_EDIT_s,IDC_EDIT_rho.

Рис.8. Окно для создания классов ClassWizard

Рис.9. Окно описания переменной класса

Рис. 10. Вставка Message Maps окна ClassWizard

Соседние файлы в папке МетодУказЛабРабот