Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаФИН kosh.doc
Скачиваний:
29
Добавлен:
15.02.2016
Размер:
3.16 Mб
Скачать

7.2. Удаление переменной, связанной с элементом управления

Теперь давайте представим, что по какой-то причине Вы ошиблись и связали не ту переменную с элементом управления, какую хотели. Что же делать? Как удалить ее? Сделать это можно «ручным» способом, без помощи мастера. Итак, для удаления переменной сначала откройте закладку Class View, выделите название класса СВашаФамилияDlg. Найдите в нижней части окна название переменной, которую Вы хотите удалить, например с (см. рис. 41).

Рис. 41 Список объектов класса СВашаФамилияDlg

Щелкните правой кнопкой мыши по названию этой переменной. Вы увидите открывшееся меню, в котором Вам следует выбрать пункт Go To Definition (Перейти к объявлению) (см. рис. 44).

Рис. 42 Контекстное меню для работы с переменной

После выбора этого пункта меню Вы перейдете к той части кода, где объявлена нужная Вам переменная. Удалите объявленную переменную (ту, часть кода, что представлена ниже).

public:

double c;

После этого перейдите к конструктору класса СВашаФамилияDlg. Для этого снова выделите название класса на вкладке Class View и два раза щелкните по названию конструктора, которое выглядит как СВашаФамилияDlg(CWnd* pParent = 0) (см. рис. 43, конструктор выделен).

Рис. 43 Конструктор класса СВашаФамилияDlg

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

, c(0)

Тем же способом перейдите к функции DoDataExchange() и удалите из нее следующую строку:

DDX_Text(pDX, IDC_EDIT3, c);

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

Если Вы удалили переменную с, перейдите на вкладку Resource View и вновь свяжите эту переменную с окном для вывода суммы.

7.3. Создание обработчика события. Работа с мастером обработки событий.

Теперь создадим обработчик события происходящего при нажатии на кнопку «Вычислить». Это можно сделать несколькими способами:

  • Щелкните правой клавишей мыши по кнопке «Вычислить». В появившемся контекстном меню выберите пункт Add Event Handler (Добавить обработчик события…) (см. рис. 44).

Рис. 44 Контекстное меню для элемента управления “кнопка” (Button)

Откроется окно мастера обработки событий (Event Handler Wizard) (см. рис. 45).

Выберите в нём Message type (Тип сообщения): BN_CLICKED (Кнопка нажата).

В Class list (Список классов, здесь отображаются все доступные классы и выбирается тот класс, в котором будет содержатся обработчик события): CIvanovDlg (у Вас вместо Ivanov будет стоять Ваша фамилия).

Function handler name (Имя функции обработчика) содержит название функции, которая будет вызываться при обработке данного события. При желании, Вы можете изменить имя функции на то которое вам больше нравится. В данном случае оставлено имя по умолчанию) OnBnClickedButton1 (см. рис. 47).

Нажмите на кнопку Add and Edit (Добавить и редактировать) для добавления обработчика события и перехода к написанию программного кода для него.

Рис. 45 Окно мастера обработки событий

Второй способ добавления функции – обработчика:

  • Щелкните левой кнопкой мыши по кнопке «Вычислить». Перейдите к окну свойств данной кнопки. Переключитесь в режим отображения событий (Events), для этого нажмите на конку с изображением молнии (см. рис. 46). Найдите среди событийBN_CLICKED, щелкните справа от названия события и в выпадающем списке выберите <Add> OnBnClickedButton1 (см. рис. 46).

Для раскрытия выпадающего списка щелкните на набольшем квадрате с изображением треугольника направленного вершиной вниз. После выбора обработчика события Вы будете автоматически переключены к программному коду данного обработчика.

Рис. 46 События связанные с элементом управления кнопка (Button)

  • Третий и самый простой способ добавить обработчик нажатия кнопки – сделать двойной щелчок по кнопке.

Вы увидите заготовку функции, которая была сгенерирована мастером, и которую Вам необходимо изменить для выполнения необходимых Вам действий.