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

Координаты точки - C++

Восстановить пароль Регистрация
 
OdessaNA
 Аватар для OdessaNA
19 / 19 / 0
Регистрация: 10.01.2011
Сообщений: 240
25.10.2012, 20:03     Координаты точки #1
Здравствуйте, друзья!
Подскажите, пожалуйста, как "вытянуть" координаты точки при нажатии на левую кнопку мыши?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <Windows.h>
#include <iostream>
using namespace std;
 
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); //отвечает за вывод на экран
HANDLE hIn=GetStdHandle(STD_INPUT_HANDLE);  //отвечает за ввод на экране
void main()
{
    CONSOLE_CURSOR_INFO cInfo={100,1};  
    CONSOLE_SCREEN_BUFFER_INFO csbInfo;
    INPUT_RECORD ir;
    DWORD x,consoleMode;
    SetConsoleCursorInfo(hOut,&cInfo);
    COORD c={0,0};
    COORD array;
 
    GetConsoleMode(hIn,&consoleMode);
    
    while(1)
    {
        SetConsoleMode(hIn, ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT);
        while(ReadConsoleInput(hIn,&ir,1,&x))
        {
            if(ir.EventType==MOUSE_EVENT) //здесь сам процесс рисования мышью до того момента, пока не нажмем любую из клавишь клавиатуры
            {
                if(ir.Event.MouseEvent.dwButtonState==FROM_LEFT_1ST_BUTTON_PRESSED)   //прорисовываем 
                {
                    SetConsoleCursorPosition(hOut,ir.Event.MouseEvent.dwMousePosition);
                    
                    SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
                    cout<<char(0xDB);
                    array= ?
 
                }else if(ir.Event.MouseEvent.dwButtonState==RIGHTMOST_BUTTON_PRESSED)   //стираем всё нарисованное
                {
                    GetConsoleScreenBufferInfo(hOut,&csbInfo);
                    FillConsoleOutputAttribute(hOut,0,csbInfo.dwSize.X*csbInfo.dwSize.Y,c,&x); 
                //  FillConsoleOutputCharacter(hOut,' ',csbInfo.dwSize.X*csbInfo.dwSize.Y,c,&x);//отключение этой строчки приводит к игнорированию правой кнопки (т.е. при нажатии пр кнопки не происходит стирание)
                }
            }
            else if(ir.EventType==KEY_EVENT) //нажав любую клавишу выходим из цикла
            break;
        }
        COORD Liter={10,10}; //позиция курсора
        SetConsoleCursorPosition(hOut, Liter);
        SetConsoleMode(hIn, consoleMode);
        SetConsoleTextAttribute(hOut,FOREGROUND_RED|FOREGROUND_INTENSITY);
        cin>>x;
        cout<<x;
    }
}
Добавлено через 16 минут
Отсутствие помощи заставляет самостоятельно искать ответ .
C++
1
array=ir.Event.MouseEvent.dwMousePosition;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2012, 20:03     Координаты точки
Посмотрите здесь:

C++ Координаты точки на плоскости
Попадут ли точки в координаты окружности C++
C++ Координаты точки
C++ Координаты точки нажатия мыши.
Как найти координаты точки на прямой удаленной от заданной точки на х C++
Рассчитать координаты точки C++
Вычислительная геометрия (Даны координаты центра, R окружности, координаты точки вне окруж-ти. Найти точку пересечения одной из касательных с окруж-ю) C++
Заданы координаты точки подвеса математического маятника A(xa, ya, za) и координаты одной из точек его наивысшего подъема B(xb, yb, zb). Найти координ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru