и щелкните мышкой на диалоговую панель, которая должна выглядеть, как показано на рис. 1.6.
Теперь выделите кнопку мышкой, для этого нажмите на нее и отбуксируйте маркеры, чтобы кнопка стала такой же, как на рис 1.6. После этого опять выделите кнопку левым щелчком мыши, затем нажмите правую кнопку и в раскрывшемся меню выберете Ргореrties(настройки).
Выведется такая диалоговая панель (рис 1.7).
Вместо текста IDC_BUTTONl введите IDC_SAYHELLO_BUTTON, вы задали идентификатор, по которому VC будет распознавать элемент. В строке Captions(надпись), введите название кнопки Say Hello.
Вставьте теперь еще одну кнопку такого же размера, с ID — IDC_EXIT_BUTTON и Captions(надпись) Exit. Ваша диалоговая панель должна выглядеть, как показано на рис. 1.8
Поздравляю, вы закончили визуальное проектирование диалоговой панели!
Отныне все свойства диалогового окна будут задавать таблицей, где будут указываться свойства элементов диалога. К примеру для этого диалога, таблица будет выглядеть так:
Связывание элементов управления
Сейчас мы свяжем элементы управления с событиями. У нас всего два элемента — это две кнопки: Say Hello и Exit.
Теперь мы будем пользоваться еще одним мастером ClassWizard, он сильно облегчит нам работу. Зайдите в VIEW->ClassWizard, появится такая диалоговая панель
Рассмотрим эту панель.
1) Project — здесь вы выбираете свой проект.
2) ClassName — название класса, элементы которого вы будете связывать с событиями, проверьте, чтобы там было установлено CHelloDIg — это класс, который связан с главным диалоговым окном.
3) Object IDs — это идентификаторы(названия) элементов управления, в нашем случае это две кнопки. Первый идентификатор — это название самого класса, оно туда включено, так как с ним связаны многие события(это такие значения, которые возвращаются Windows, при совершении какого-нибудь действия).
4) Messages — а это как раз те самые события, которые генерирует программа. К примеру, если вы нажали на кнопку, то генерируется событие BN_CLICKED, а если два раза — то BN_DOUBLECLICKED.
5) Members function — это список функций, которые вы включили, и соответствующие им события.
Теперь свяжем кнопку EXIT с событием BN_CLICKED — оно возникает при нажатие на кнопку. Для этого щелкнем в Object IDs на IDC_EXIT_BUTTON, справа появится события, с которыми можно связать эту кнопку. Выбираем там BN_CLICKED. И щелкаем на кнопке Add Function, которая находится справа. Этим нажатием вы говорите Visual C++, что вам необходимо связать это событие с функцией. Выведетя такая диалоговая панель, где вам предложат выбрать название функции. Оставьте все по умолчанию и нажмите кнопку ОК.
В Members function появилась запись о том, что мы связали кнопку (с идентификатором IDC_EXIT_BUTTON) с функцией OnExitButton. Теперь щелкаем по кнопке Edit Code, которая находится ниже кнопки Add Fucnction. При нажатии на эту кнопку мы переходим в режим редактирования исходного текста. В окошке появится тест:
void CHelloDlg::OnExitButton()
{
// TODO: Add your control notification handier code here
}
Комментарий // TODO: Add your control notification handler code here говорит, что после него можно выставлять свой код.
Начало вашего кода будет обозначаться
///Здесь начинается ваш код///
А конец вашего кода —
///Здесь заканчивается ваш код///
Теперь введем код, для этого вам надо переписать его
void CHeiioDlg::OnExitButton()
{
// TODO: Add your control notification handier code here
///Здесь начинается ваш код///
ОnОК();
///Здесь заканчивается ваш код///
}
Вы написали ОnОК();, эта функция будет выполняться при каждом нажатии на кнопку EXIT, и она предназначена для завершения программы. Проверьте, чтобы в написании OnOK, ОК было написано с большой буквы, иначе, при компиляции программы, Visual C++ сообщит вам об ошибке, так символы верхнего и нижнего регистра в VC имеют распознаются по-разному. Итак вы связали кнопку EXIT с событием BN_CLICKED, а его с функцией OnExitButton, которая будет выполняться при каждом нажатии на кнопку EXIT.