Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
79 / 79 / 20
Регистрация: 13.05.2009
Сообщений: 537
Записей в блоге: 1
1

Определение координат курсора

01.09.2009, 20:01. Показов 2637. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как определить координаты курсора, я написал код но он работаетна половину, тоисть х координату определяет нормально, а у только если она меньше 255!
C++
1
2
3
4
case WM_MOUSEMOVE:
        x=LOWORD(lParam);
        y=HIWORD(lParam);
.....
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2009, 20:01
Ответы с готовыми решениями:

Определение координат курсора при нажатии на дерево CTreeCtrl
Необходимо в MFC при нажатии левой кнопки мыши в пределах окна дерева CTreeCtrl определить...

MFC, CDialog, перехват координат курсора мышки
Всем добрый день. Есть задача перехватить координаты курсора мышки внутри окна и за пределами...

Определение глобальных координат курсора
Подскажите пожалуйста как узнать глобальные координаты курсора мыши по нажатию левой кнопки мыши за...

Определение координат курсора в консоли
Есть такая вот функция: #include <iostream> #include <Windows.h> void gotoxy(int x, int y)...

5
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
02.09.2009, 15:21 2
какие-то нелады с настройками, либо y - типа Byte.
можно не пользоваться макросом HIWORD, а самому писать lParam>>=16 (или 32, в зависимости от версии Windows и компилятора)
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
02.09.2009, 23:22 3
Цитата Сообщение от Patch Посмотреть сообщение
либо y - типа Byte
ставлю $10 против ореховой скорлупы, что старина Patch прав!
0
79 / 79 / 20
Регистрация: 13.05.2009
Сообщений: 537
Записей в блоге: 1
13.09.2009, 16:42  [ТС] 4
novi4ok, с тебя 10$, так как х и у обьявлены так int x,y;
lParam>>=16 дает тот же результат что и y=HIWORD(lParam);
а если lParam>>=32 выкидует ошибку.
вот полный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
case WM_MOUSEMOVE:
        int x,y;
        x=LOWORD(lParam);
        y=HIWORD(lParam);
        char u[10];
        _itoa_s(x,u,10,10);
        if(u[1]==0)
            u[1]=' ';
        if(u[2]==0)
            u[2]=' ';
        _itoa_s(y,u+4,6,6);
        u[3]='x';
        SetWindowText(hWnd,u);
        break;
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
16.09.2009, 12:36 5
наводящий вопрос:
а что показывает, если y > 255?
0
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
16.09.2009, 14:27 6
_itoa_s(y,u+4,6,6);
Что по-твоему значит последний параметр в этой ф-ции????????

И вообще писать нужно так:
sprintf(u, "%d x %d", x, y);
SetWindowText(hWnd,u);
0
16.09.2009, 14:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2009, 14:27
Помогаю со студенческими работами здесь

Неправильное определение координат курсора
Привет всем. Вопрос такой. Есть форма в Visual Studio , на ней pictureBox. Нужно, что бы когда...

Определение координат курсора мыши из DLL
Как узнать координаты курсора относительно формы программы, к которой будет подключена библиотека?...

Qt Qml, определение координат курсора мыши
Доброго времени суток. При создании программы возникла проблема: требуется узнать координаты...

Определение координат курсора на элементе управления
На форме WPF в контейнере Canvas размещены прямоугольник Rectangle и TextBox. Вопрос таков: как при...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru