|
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
|
||||||
Отрисовка круга, следующего за курсором в API win3223.08.2020, 13:58. Показов 2555. Ответов 6
Прошу помощи с редактированием кода, чтобы получить результат, как на гифке.
В исходнике по нажатии на Enter красный эллипс начинает двигаться по окружности, и останавливается по нажатии на Space. Исходный код (Писался в Watcom IDE, современная версия VS у меня ругается на несколько операций с переменными и не хочет компилироваться): Кликните здесь для просмотра всего текста
Нужно, чтобы при запуске окна, эллипс перемещался за курсором, но не выходил за определенные кругом границы. Я был бы очень благодарен за предоставление рабочего кода, или кода похожей программы, с которой я бы мог разобраться и надергать оттуда функции. P.S. Нужно для универа, я благополучно пропустил весь курс API и сейчас пытаюсь исправиться, но времени осталось мало) Помогите х)
0
|
||||||
| 23.08.2020, 13:58 | |
|
Ответы с готовыми решениями:
6
Почему Microsoft больше не публикует книги по Win32 API? В частности, разработка графического интерфейса с Win32 Отрисовка линии за курсором мышки Отрисовка круга в консоли по данным |
|
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
|
||||||
| 23.08.2020, 15:14 [ТС] | ||||||
|
У меня есть некоторый прогресс, может вдруг кто-то поможет хотя бы с этим.
Кликните здесь для просмотра всего текста
Гифка с результатом: Пока что с ограничениями я не разбирался, но круг следует за курсором. Но останавливается, когда курсор находит на сам круг. Я так понимаю, это потому что круг является другим окном, и с него координаты не берутся, но я совсем не знаю как это исправить! А еще, хоть на гифке не видно, но при быстрых движениях курсором в сторону, часть круга "съедается" и дорисовывается только в конечной точке. Я не могу это запечатлеть, потому что даже скриншоты не дают этот момент поймать, но круг действительно обрезается. Что с этим можно сделать?
0
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||||||
| 23.08.2020, 19:35 | |||||||
Сообщение было отмечено DioxiT как решение
РешениеКликните здесь для просмотра всего текста
1
|
|||||||
|
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
|
||||||
| 23.08.2020, 21:02 [ТС] | ||||||
|
Прошу прощения, но у меня не получается запустить ваш код, если я его, конечно, правильно собрал. Компилятор ругается:
circle.cpp(72): Error! E121: col(23) syntax error circle.cpp(77): Error! E029: col(48) symbol 'DC_BRUSH' has not been declared circle.cpp(78): Error! E029: col(48) symbol 'DC_PEN' has not been declared circle.cpp(101): Error! E029: col(26) symbol 'SetDCPenColor' has not been declared circle.cpp(102): Error! E029: col(13) symbol 'SetDCBrushColor' has not been declared Я должен был как-то заранее определить DC_BRUS и DC_PEN? Очень прошу помочь! Кликните здесь для просмотра всего текста
0
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 23.08.2020, 21:32 | ||
|
Если нету, создайте сами две кисти Brush(белую и красную) и две ручки Pen(чёрную и белую) и выбирайте их вместо SetDCPrushColor и SetDcPenColor
0
|
||
|
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
|
||||||
| 23.08.2020, 23:15 [ТС] | ||||||
|
Добавил перед икнлюдами #define _WIN32_WINNT 0x500 и осталась только одна ошибка. Синтаксическая в 72 строке:
rectWin = { centerX - halfSize, centerY - halfSize, centerX + halfSize, centerY + halfSize }; В чем может быть проблема? Для структуры синтаксис правильный, кажется, тем более в глобальных выше rectBM инициализировался так же. Я думал с типами данных какие-то проблемы, но разве не должна быть для этого отдельная ошибка? Добавлено через 32 минуты В чем ошибка я так и не понял, но если записать так, то работает:
0
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 23.08.2020, 23:17 | ||
rectWin = RECT{...};)Если не поможет, вручную присвой поля(т.е. rectWin.left = centerX - halfSize; и т.д.)
1
|
||
| 23.08.2020, 23:17 | |
|
Помогаю со студенческими работами здесь
7
Перемещение круга в установленную курсором мыши точку
Qt + Win32 API С++ Win32 API Win32 API Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|