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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование циклов с неизвестным заранее числом повторений http://www.cyberforum.ru/cpp-beginners/thread680510.html
Лабораторная работа №3 Программирование циклов с неизвестным заранее числом повторений Цель работы: освоение средств языка C++ для описания итерационных циклов и закрепление навыков использования их при программировании. Пример программы с использованием оператора цикла с предусловием: Схема программы к данному примеру: Пример программы с использованием оператора цикла с постусловием:...
C++ Массивы и строки - жесткая ошибка с #include "stdafx.h" #include <iostream> #include <string> using namespace std; /////////////////////////////////////////////////////////////////////// class employee { http://www.cyberforum.ru/cpp-beginners/thread680502.html
C++ Как передать 2 значения своей функции?
// Отображает время #include <iostream> using namespace std; void time(int); int main() { int hour; cout << "Enter the number of hours: "; cin >> hour;
C++ Описать рекурсивную функцию stepen (x, n)
Описать рекурсивную функцию stepen (x, n) от вещественного х (х ≠ 0) и целого n, которая вычисляет величину xn по формуле #include <iostream.h> double stepen (float a, int b); void main() { int n; float x; double A; cout«”Vvedite chislo x I ego stepen n: ”; cin»x»n;
C++ Определить колличество строк прямоугольной матрицы, не содержащих ни одного нулевого элемента http://www.cyberforum.ru/cpp-beginners/thread680467.html
Дана прямоугольная матрица. Определить: 1) Колличество строк, не содержащих ни одного нулевого элемента; 2) Максимальное из чисел, встречающихся в заданной матрице более одного раза.
C++ Заменить символами # символы, стоящие в строках или столбцах, где имеются цифры Вот задача: Задана символьная матрица Y(K, L), K<=7, L<=9, соcтаящая из латинских букв и цифр. Заменить символами # символы, стоящие в строках или столбцах, где имеются цифры. Можно использовать рабочий одномерный массив, длиной K или L, но нельзя вводить рабочий двумерный массив. Например исходный abcdefgh qqqq7qwe iuytrewq 9zxcvbnm qwertyui ... подробнее

Показать сообщение отдельно
OdessaNA
19 / 19 / 0
Регистрация: 10.01.2011
Сообщений: 241

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

25.10.2012, 20:03. Просмотров 331. Ответов 0
Метки (Все метки)

Здравствуйте, друзья!
Подскажите, пожалуйста, как "вытянуть" координаты точки при нажатии на левую кнопку мыши?
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;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru