Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
#1

callback функции не для кнопок на экране, а для клавиш на клав. и мышке. Как? - C++

26.01.2012, 22:07. Просмотров 1048. Ответов 2
Метки нет (Все метки)

Я так понимаю, что в WIN API все действия делаются асинхронно через callback функции.
Но как инициировать действие для клавиш клавиатуры и кнопок мышки? Или их по другому делают?
Вот из книги страуструпа( я не много по другому написал ):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "GUI.h"
#include "Graph.h"
#include "Lines_window.h"
#include <stdexcept>
#include <iostream>
 
int main()
try {
    Lines_window win( Point( 100, 100 ), 600, 400, "lines" );
    return GraphLib::gui_main();
}
catch( std::exception& ex ) {
    std::cerr << "Exception: " << ex.what() << std::endl;
    return 1;
}
catch(...) {
    std::cerr << "Exception\n";
    return 2;
}
Эта программа рисует ломанную линию. Пользователь вводит точку и нажимает кнопку "next point", а программа рисует линию от предыдущей веденной пользователем точки до текущей.
Все действия - это нажатия кнопок "next point" и "Quit", т.е. есть две callback функции для этих кнопок.
А если надо клавиши клавиатуры и кнопки мышки использовать, то как это делается?
И еще вопрос: когда "программа написана полностью на ООП", то все действия выполняются в методах классов, как я выше привел пример? Например, хочу написать тетрис с ООП, тогда надо делать как в примере выше?

Добавлено через 3 часа 15 минут
Дайте, пожалуйста, хотя бы зацепку. Какой-нибудь термин, чтобы искать в поисковиках.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2012, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос callback функции не для кнопок на экране, а для клавиш на клав. и мышке. Как? (C++):

For_each и аргументы callback-функции; Как передать callback'у больше одного аргумента - C++
Изучаю контейнеры и алгоритмы stl по Майерсу . С непривычки слегка охренел и запутался в них . В общем есть у меня простой вызов...

Для чего нужны callback-функции - C++
Для чего нужны callback-функции? И можно привести какой-нибуль пример по их использованию.

Изменение расположения курсора на экране и симуляцция нажатия кнопок на мышке и клавиатуре - PascalABC.NET
Есть ли в pascalABC.NET функции 1. Изменяют расположении курсора на экране. К примеру после 5 секунд работы программы курсор перемещался...

Как генерировать новые функции для кнопок QT4 - Python
да, да, Qt4 устарел, я это осознаю, но нормально работать это ему не мешает)) Написал небольшой скрипт, необходимо разместить кучу кнопок...

Функции для клавиш клавиатуры - Visual Basic .NET
Здравствуйте! Как на какой-нибудь набор клавиш поставить какое либо действии??? Например: при нажатии на CTRL+C документ находящийся в...

Для чего в компьютерной мышке нужен фотодиод? - Электроника
Как можно в картинках это изобрать наглядно,и более понятно объяснить по рисунку При движении мыши резиновый шарик в дне мыши,...

2
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
26.01.2012, 22:39 #2
Как вам тут что-то можно подсказать, когда у вас хз какая библиатека для работы с окнами.
В WinAPI - свой способ
MFC - другой
%любая другая либа% - тоже свой, отличный от других.
1
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
26.01.2012, 23:16  [ТС] #3
О, спасибо вам, вспомнил как в win api происходит дело.
В WINAPI callback функции вызываются для окон и в этих функциях уже через switch рассматриваются сообщения. В эти сообщения так же входят нажатия кнопок мыши и клавиш клавиатуры.

У меня вопрос про графическую библиотеку FLTK.
В ней регистрируются callback функции для кнопок и когда пользователь нажимает кнопки, вызываются call back функции для каждой кнопки. А вот как нажатие клавиш клавиатуры и кнопок мыши я не знаю. Надо покопаться в документации FLTK.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2012, 23:16
Привет! Вот еще темы с ответами:

Шаблоны и функторы как callback для класса свойства объекта. Код работает - но не должен - C++
Здравствуйте! Хочу написать реализацию класса свойства на шаблоне. Т.е есть объект, он инициирует необходимые проперти, в графическом...

Написать программу движения курсора на экране(в цвете), в зависимости от функции клавиш клавиатуры.(вверх, низ, право, влево) - Turbo Pascal
Написать программу движения курсора на экране(в цвете), в зависимости от функции клавиш клавиатуры.(вверх, низ, право, влево).

Как красиво разместить на экране 16 кнопок (4x4)? - Программирование Android
мне надо разместить на экране 16 кнопок(4х4 размещение, кнопки квадратные, одинакового размера, с рисунками). подскажите новичку, как...

Создать массив кнопок, для каждой кнопок будет одинаковый обработчик - C#
Всем привет! Нужна помощь в реализации такой задачи. Нужно создать массив кнопок, для каждой кнопок будет одинаковый обработчик...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.