wxWidgets Глава 2. Базовый GUI. Часть 3. Кнопка и событие - click

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

Для начала рассмотрим класс wxButton. И для таого чтобы размещать виджеты (кнопку) в программе нужно чоздать панель из класса wxPanel.

Создаем панель и разместим на ней кнопку.

Для создания панели передали 2 параметра:

  1. Родительское окно.
  2. Идентификатор панели. wxID_ANYсчитается значением по умолчанию.

При создании кнопки пердали 4 параметра:

  1. Родительское окно. Не должно быть NULL .
  2. Идентификатор кнопки. Значение wxID_ANY указывает значение по умолчанию.
  3. Текст, который будет отображаться на кнопке.
  4. Позиция кнопки. (x, y).  Начало системы координат находится в верхнем левом углу.

Не забываем подключить классы

#include <wx/panel.h>

#include <wx/button.h>

Событие на кнопку

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

В MainWin.h инициализируем фукцию

void OnQuit(wxCommandEvent& event);

И в файле .cpp пишем

Данная функция закрывает приложение.. 

Теперь нужно подключить событие кнопки к данной фукции. В данный момент это можно сделать 2 способами. 

1. СТАРЫЙ СПОСОБ. Используем Connect

Где мы передали 3 параметра:

  1. идентификатор Кнопки (объекта),
  2. тип события. Их может быть тоже 2. 1 Старый wxEVT_COMMAND_BUTTON_CLICKED. И второй новый wxEVT_BUTTON,
  3. функция - которая исполяет событие.

 

2. Используем Bind

Обращаем внимание на то что мы запускаем его как метод класса самой кнопки. И также пердаем 3 параметра:

  1. Тип события, который будет связан с этим обработчиком событий. Тут тоже 2 способа. Старый wxEVT_COMMAND_BUTTON_CLICKED. И второй новый wxEVT_BUTTON.
  2. Функция обработчика событий.
  3. Текущий объект - this

Вот и базовый функционал кнопки готов.