Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 04.05.2018
Сообщений: 1

CButton и WM_LBUTTONDOWN

09.07.2018, 12:58. Показов 1375. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Хочу сравнить координаты кнопки с полученными.
При нажатии левой кнопки мыши на кнопке не выводятся координаты.
Как это можно реализовать ?
Можно ли из обработчика мыши получить координаты уже существующей кнопки иным способом ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void CEventDlg::OnLButtonDown(UINT nflags, CPoint point)
{
    CString s, sb;
    CRect r;
    
    GetWindowRect(&r);
    
    s.Format(_T("%d %d %d %d point: %d %d"), r.left, r.top, r.right,r.bottom, point.x, point.y);
    MessageBox(s, L"Rect", MB_OK);
    
    if (point.x <= 130)
    MessageBox(s, L"Rect", MB_OK);
    
    SendMessage(nflags);
    
    CDialogEx::OnLButtonDown(nflags, point);
}
Добавлено через 21 минуту
Заменил

C++
1
GetWindowRect(&r);
на

C++
1
2
GetWindowRect(&r);
GetCursorPos(&point);
но как получить координаты или идентификатор кнопки при нажатии пока не могу понять.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.07.2018, 12:58
Ответы с готовыми решениями:

Использование CArray<CButton,CButton>
Добрый день всем. Пытаюсь создать динамический массив кнопок с использованием CArray typedef CArray&lt;CButton,CButton&gt;...

WM_LBUTTONDOWN
Господа надо нажать левую кнопку (по определённым координатом) мыши в чужом окне , делаю так - ...

Не посылается WM_LBUTTONDOWN
Делаю свой контрол, в него не приходят сообщения нажатия кнопок мыши, что нужно сделать чтобы они посылались?

1
 Аватар для Геомеханик
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
14.07.2018, 06:22
Цитата Сообщение от Wolf_001 Посмотреть сообщение
При нажатии левой кнопки мыши на кнопке не выводятся координаты.
C++
1
2
3
4
5
6
7
8
9
10
11
void CEventDlg::OnButton1() 
{
    POINT p;
    GetCursorPos(&p);
    ::ScreenToClient(::GetDlgItem(m_hWnd, IDC_BUTTON1), &p);
/*  
    где p координаты щелчка
    p.x
    p.y
*/
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2018, 06:22
Помогаю со студенческими работами здесь

Почему не работает WM_LBUTTONDOWN?
... HWND hwnd1; hwnd1 = FindWindowEx(hwnd,NULL,&quot;TPanel&quot;,&quot;&quot;); if (hwnd1!=NULL) { POINT p; Sleep(5000); ...

WM_LBUTTONDOWN - как выполнить эту процедуру?
Доброе время суток. Я написал следующий код: // ... procedure WMLDown(var MSG: TMessage); Message WM_LBUTTONDOWN; // ... ...

Наследование от CButton и добавление ее в проект
Подскажите пожалуйста. В Class View Add-&gt;Class, наследуюсь от стандартного класса кнопки CButton. - Добавляю заголовочный файл в мой...

Изменить фон CButton (MFC)
Или как узнать цвет кнопки (он зависит от темы оформления)? По умолчанию серый. Переопределение WM_CTLCOLOR изменяет цвет...

Помогите поменять CButton местами
Добрый день! Вопрос из розряда MFC. :( Есть две кнопки класса СButton со стилем BS_PUSHBUTTON. Нужно на форме поменять их местами при...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru