Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
1

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

26.01.2012, 22:07. Просмотров 1626. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2012, 22:07
Ответы с готовыми решениями:

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

Как отследить нажатия кнопок на мышке вне формы
Что нужно для этого сделать ? Спасибо за ранее.

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

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

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
2
DU
1492 / 1138 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
26.01.2012, 22:39 2
Как вам тут что-то можно подсказать, когда у вас хз какая библиатека для работы с окнами.
В WinAPI - свой способ
MFC - другой
%любая другая либа% - тоже свой, отличный от других.
1
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
26.01.2012, 23:16  [ТС] 3
О, спасибо вам, вспомнил как в win api происходит дело.
В WINAPI callback функции вызываются для окон и в этих функциях уже через switch рассматриваются сообщения. В эти сообщения так же входят нажатия кнопок мыши и клавиш клавиатуры.

У меня вопрос про графическую библиотеку FLTK.
В ней регистрируются callback функции для кнопок и когда пользователь нажимает кнопки, вызываются call back функции для каждой кнопки. А вот как нажатие клавиш клавиатуры и кнопок мыши я не знаю. Надо покопаться в документации FLTK.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2012, 23:16

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

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

Составить блок-схему и программу для вычисления знач. функции У в зависимости от заданного с клав. знач. аргумента Х - T
Ребята помогите пожалуйста решить задачку по TurboPasсal Составить блок-схему и программу для...

Не работает часть клавиш на Lenovo B570E. Замена клав. не помогает
Help!! Пришёл ноутбук Lenovo B570E с частично нераб. клавиатурой. Присутствовало двойное нажатие и...

Функции для клавиш клавиатуры
Здравствуйте! Как на какой-нибудь набор клавиш поставить какое либо действии??? Например: при...

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

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


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

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

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