Смекни!
smekni.com

Разработка программного обеспечения (стр. 8 из 8)

А теперь мы спроектируем диалоговую панель.

Сейчас мы визуально спроектируем диалоговую панель. Для этого вначале выберите закладку "ResourseView" и раскройте пункт HelloResource, как показано на рис. 6.

Рис.6.

Здесь вы видите две записи:

1) IDD_ABOUTBOX

2) IDD_HELLO_DIALOG

1) - это название диалоговой панели ABOUT, а 2)- название главной диалоговой панели. Выполните щелчок по второй строчке(2) и справа появится, диалоговая панель. В этом режиме можно ее редактировать (см. рис. 7).

Рис.7.

Удалите из диалоговой панели текст: "TODO:.." и две кнопки, для этого щелкните на эти элементы и нажмите DEL. Теперь у вас чистая панель и вы можете спроектировать ее на свой вкус.

Cправа от диалоговой панели находятся элементы управления(если вы их не видите, то зайдите в TOOLS->CUSTOMIZE, в закладке TOOLBARS, CONTROLS - поставьте флажок). Вы можете редактировать панель в полном экране, для этого зайдите в VIEW->FULLSCREEN.

Сейчас выберите в элементах управления Button,

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

Рис.7.

Теперь выделите кнопку мышкой, для этого нажмите на нее и отбуксируйте маркеры, чтобы кнопка стала такой же, как на рис 6. После этого опять выделите кнопку левым щелчком мыши, затем нажмите правую кнопку и в расрывшемся меню выбирете Properties(настройки).

Выведется такая диалоговая панель (рис 7).

Вместо текста IDC_BUTTON1 введите IDC_SAYHELLO_BUTTON, зададим идентификатор, по которому VC будет распознавать элемент. В строке Captions(надпись), введите название кнопки SayHello.

Вставьте теперь еще одну кнопку такого же размера, cID - IDC_EXIT_BUTTON и Captions(надпись) Exit. Диалоговая панель должна выглядеть, как показано на рис. 1.8

Все свойства диалогового окна будут задавать таблицей, где будут указываться свойства элементов диалога. Свяжем элементы управления с событиями. Два элемента - это две кнопки: SayHello и Exit. Теперь воспользуемся еще одним мастером ClassWizard, он сильно облегчит нам работу. Зайдите в VIEW->ClassWizard, появится такая диалоговая панель

Рис.1.8.

Рассмотрим эту панель.

1) Project- здесь вы выбираете свой проект.

2) ClassName - название класса, элементы которого вы будете связывать с событиями, проверьте, чтобы там было установлено CHelloDlg - это класс, который связан с главным диалоговым окном.

3) ObjectIDs - это идентификаторы(названия) элементов управления, в нашем случае это две кнопки. Первый идентификатор - это название самого класса, оно туда включено, так как с ним связаны многие события( это такие значения, которые возвращаются Windows, при совершении какого-нибудь действия).

4) Messages - а это как раз те самые события, которые генерирует программа. К примеру, если вы нажали на кнопку, то генерируется событие BN_CLICKED, а если два раза - то BN_DOUBLECLICKED.

5) Membersfunction - это список функций, которые вы включили, и соответствующие им события.

Теперь свяжем кнопку EXIT с событием BN_CLICKED - оно возникает при нажатие на кнопку. Для этого щелкнем в ObjectIDs на IDC_EXIT_BUTTON, справа появится события, с которыми можно связать эту кнопку. Выбираем там BN_CLICKED. И щелкаем на кнопке AddFunction , которая находится справа. Этим нажатием вы говорите VisualC++, что вам необходимо связать это событие с функцией. Выведется такая диалоговая панель, где вам предложат выбрать название функции. Оставьте все по умолчанию и нажмите кнопку OK.

В Membersfunction появилась запись о том, что связали кнопку (c итендификатором IDC_EXIT_BUTTON) с функцией OnExitButton. Теперь щелкаем по кнопке EditCode, которая находится ниже кнопки AddFucnction. При нажатии на эту кнопку мы переходим в режим редактирования исходного текста. В окошке появится тест:

void CHelloDlg::OnExitButton()

{

// TODO: Add your control notification handler code here

}

Коментарий // TODO: Add your control notification handler code here говорит, что после него можно ставлять свой код.

Начало вашего кода будет обозначаться

///Здесь начинается ваш код///

А конец вашего кода -

///Здесь заканчивается ваш код///

Теперь введем код, для этого вам надо переписать его

void CHelloDlg::OnExitButton()

{

// TODO: Add your control notification handler code here

///Здесь начинается ваш код///

OnOK();

///Здесь заканчивается ваш код///

}

Напишем OnOK();, эта функция будет выполняться при каждом нажатии на кнопку EXIT, и она предназначена для завершения программы. Проверьте, чтобы в написании OnOK, OK было написано с большой буквы, иначе, при компиляции программы, VisualC++ сообщит вам об ошибке, так символы верхнего и нижнего регистра в VC имеют распознаются по-разному.

Итак вы связали кнопку EXIT с событием BN_CLICKED, а его с функцией OnExitButton, которая будет выполняться при каждом нажатии на кнопку EXIT.

Теперь свяжем кнопку SayHello с событием BN_CLICKED. Для этого зайдем в меню VIEW->ClassWizard.

Выберем в Object IDs IDC_SAYHELLO_BUTTON.

Щелкнемна BN_CLICKED в Messages (этимсвязываетекнопку Say Hello ссобытием BN_CLICKED).

Нажимаем на Addfunction, этим связываете событие BN_CLICKED с функцией.

В раскрывшемся окне оставляем все по умолчанию и нажимаем кнопку OK.

Затем нажимаем на кнопку EditCode, для редактирование исходного текста.

И в раскрывшемся окне пишем следующий код:

void CHelloDlg::OnSayhelloButton()

{

// TODO: Add your control notification handler code here

///Здесь начинается ваш код///

MessageBox("SayHello");

///Здесь заканчивается ваш код///

}

Функция MessageBox("SayHello"); вызывает окно сообщений, в котором написан текст SayHello, который и является параметром этой функции.

Итак, связали кнопки SayHello и EXIT с событием BN_CLICKED. При нажатии на кнопку Exit программа завершается, а при нажатии на кнопку SayHello выводится сообщение "SayHello".

Теперь осталось построить и выполнить программу. Нажимаем Далее...

Компиляция и запуск программы

Для того, чтобы выполнить программу надо ее вначале сохранить. Зайдите в меню File и там нажмите на SaveAll. Затем надо ее построить (скомпилировать).

Зайдем в меню Build->BuildHello.exe, начнется построение программы. Если компилятор не выдал сообщение об ошибке, которые можно посмотреть в появившемся внизу окошке, то можно смело запускать программу.

Теперь осталось только выполнить программу, для этого зайдите в меню Build->ExecuteHello.exe

Ваша программа должна будет выглядеть так:

А окно сообщений при нажатии на кнопку SayHello:

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

Индивидуальные задания.

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

С помощью инспектора объектов измените цвет формы, шрифт выводимых символов.

Задание: составить программу вычисления арифметического выражения по вариантам:

№варианта Программируемая формула A B C D Результат
1
105 5 2 2.5 1.95862E+2
2
104 10 0.1 -3 -1.48774E+1
3
104 10 0.2 3 1.79615E+1
4
10-2 -1.5 4.1 -3 1.61778E-2
5
101 -1.7 3.9 -3 -3.83304E+0
6
103 3.5 4.1 -3 1.06442E+1
7
101 -0.5 1.1 -1 9.65643E-1
8
102 -20.5 5.1 -1.5 1.36556E+3
9
10-1 2.5 5.1 -1.5 -5.55037E-1
10
10-1 1.2 5.1 2.05 1.42678E+3
11
103 12 7.21 - 2.79759E-1
12
10 1.3 0.1 -.05 4.66048E+0
13
10-2 1.39 3.1 0.55 1.39860E-4
14
10-3 21.39 23.1 -0.12 -4.73017E+0
15
10-1 2.1 0.1 -3.12 -2.24257E+0