Форум программистов, компьютерный форум CyberForum.ru

Как организовать события в С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Предупреждение: формат не является строковой константой, и не заданы аргументы форматирования http://www.cyberforum.ru/cpp-beginners/thread1146245.html
Если не считать мусор, то всё работает правильно! Входные данные: 13:00 5 Li 13:15 Ka 14:00 lop 13:12 kir 15:54 jim 13:00 Выходные данные:
C++ Debug assertion failed Здравствуйте! Есть 2 двусвязных списка. Нужно написать метод merge который эти списки соединяет. Сам метод я написал. Запускаю, ввожу данные, он выводит соединенный список. Но после выхода из программы выдает ошибку "debug assertion failed" Помогите решить проблему, пожалуйста. #include <iostream> #include <locale.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1146239.html
C++ Как удалить из массива элементы с номерами, кратными определенному числу?
Помогите пожалуйста:не могу придумать,как удалить из массива элементы с номерами,кратным определенному числу.чтобы при удалении и сдвиге элементов номера у них оставались прежними и можно было это циклически повторить
C++ Бесконечный цикл с повторением через промежуток времени
как создать бесконечный цикл с повторением через промежуток времени? вот цикл, который надо повторять: #include<iostream> #include<windows.h> using namespace std; int main() { int x; int y;
C++ Ошибка в поиске компоненты сильной связности (графы) http://www.cyberforum.ru/cpp-beginners/thread1146235.html
Доброго времени суток. Подскажите пожалуйста, в чем ошибка. С векторами работаю не давно, думаю что не правильно считываю информацию в вектора. Подскажите как правильно ? #include "stdafx.h" #include <vector> #include <iostream> #include <fstream> using namespace std; vector < vector<int> > g, gr; vector<char> used; vector<int> order, component;
C++ Что я делаю не так? Не запускается программа, код взят полностью из рабочего примера но на моем компьютере не запускается #include <iostream.h> #include <stdio.h> /* * opisanie classov, naprimer: */ class Cat подробнее

Показать сообщение отдельно
Leoleshucov008
13 / 13 / 1
Регистрация: 23.02.2010
Сообщений: 221
12.04.2014, 16:34     Как организовать события в С++
Привет, форумчане. Задача у меня такая - нужно написать простенький графический редактор для курсача. Использовать windows forms нельзя. А в качестве графической библиотеки преподаватель разрешает использовать только WinBGIm. В программе будет 3 типа кнопок (выбор цвета, инструмента и кнопки управления) и само поле для рисования.
Возникла следующая проблема - эти элементы(кнопки и поле рисования) должны реагировать на события (клик, движение курсора). В предложенной библиотеке есть функция -registermousehandeler(kind, h), которая вызывает функцию h при генерации события типа kind. Но вот если напрямую для каждой кнопки забиндить функцию нажатия, то после генерации этого события будет вызвано n-ое количество функций, что не эффективно, так как сработать должна только одна. Поэтому я решил сделать так - массив элементы которого - структура Event
C++
1
2
3
4
5
struct Event {
    Object *o; //Объект 
    EventType type; //Тип события
    Point lt, rb; //Координаты на которых прослушивается событие (левый верхний и правый нижний углы)
};
Функция ExecuteEvent которая при вызове события ищет в массиве подходящий элемент и в зависимости от типа события вызывает соответствующий метод объекта. Но Object - это базовый класс, а классы кнопок это наследники класса Object и у них переопределены методы реагирования на события.
C++
1
2
3
4
5
6
7
8
9
class Object {  
public:
    //Events Functions
    virtual void LBDown(int x, int y){};
    virtual void LBUp(int x, int y){};
    virtual void MMove(int x, int y){};
};
class ColorButton :public Object{};
class ToolButton :public Object{};
Но теперь, функцией реагирования на событие будет метод, который определен в классе Object. А мне нужно вызвать метод класса ColorButton либо для ToolButton. Как это сделать? Или может быть кто-нибудь предложит другой вариант решения этой задачи.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru