Просмотр полной версии : lineTo c++
LineTo как изменять размер во время движения не понимаю....
LineTo(m_point.x+X,m_point.y+Y)
однако как зделать так чтобы при движении X и Y увеличивались не понимаю
если кто поможет понять как прописать такой цыкл буду благодарен
нада так чтобы при движении мышки на 1 координату в любую сторону
x и y изменялись в нужную мне сторону
1 раз ето я прорисовываю (появляется точка как мне нада) но мне нада обновлять ету фигуру при движении
помогите с цыклом который ето будет делать
а можно апчик) ведь ето важно для меня)
http://www.z90.ru/forum/index.php - Форум Экстрасенсов и Экстрасенсорики.
Для начала скажи опиши ситуацию детально.
1. Створити Windows-додаток із структурою документ/вид, який має стандартне меню та па-нель інструментів. При натиснення лівої кнопки миші у вікні виду в координатах курсору з’являється точка. Під час переміщення миші при натиснутій лівій кнопці точка розширю-ється до прямокутника, ліва верхня вершина якого знаходиться в тих самих координатах, де було натиснуто ліву кнопку миші. При відпусканні кнопки миші прямокутник перетворю-ється у лінію і виводиться повідомлення про отриману фігуру. Повторне натиснення кнопок миші закриває вікно повідомлення і повторює раніше означені операції. У вікні „About program” записана умова задачі та прізвище автора програми
понятно теперь
а. Під час переміщення миші при натиснутій лівій кнопці точка розширю-ється до прямокутника, ліва верхня вершина якого знаходиться в тих самих координатах, де було натиснуто ліву кнопку миші.
как зделать так чтобы он расширялся?
POS_troi
23.04.2010, 22:45
Mouse_Move - в обработчике отрисовываеш прямоугольник используя координаты мыши.
Погугли на тему "%ЯзыкПрограммирования% рисование фигуры"
Если тупо подойти то в обработчике тупо перерисовываеш прямоугольник используя координыты верхней точки (гда нажали кнопку) и координаты нижней точки (где в данный момент мышка, обработчика даст тебе циферку)
POS_troi
задание перечитайте)
. Під час переміщення миші при натиснутій лівій кнопці точка розширю-ється до прямокутника,
и ваша фраза
координаты нижней точки (где в данный момент мышка, обработчика даст тебе циферку)
но факт в том что мышка двигается в любую строну и в не зависимости от того где мышка прямоугольник-расширяется тобиш по веру и низу не посториш тут нада цыкл..
напиши задание по-русски, а то я нормально прочитать не могу.. начинаю смеяться
POS_troi
23.04.2010, 23:56
Я полностью понял задание.
У вас есть исходные данные - координаты где была нажата левая кнопка.
Прямоугольник это простая фигура имеющая 4-е координаты (углы).
Для расчета прямоугольника достаточно знать две координаты - начальная и противоположная по диоганали
x1,y1 ---------------------- x2,y2
x,y ---------------------- x3,y3
x3,y3 = x2,y
x1,y1 = x,y2
и совершенно все равно куда у тебя ушла фигура от начальной точки - вверх или вниз.
Далее делаем обработчик перемещения мыши (WinApi вполне подойдет) в нем проверяем нажата ли еще кнопка мыши и если нажата то берем и координату в которой в данный момент находится мышь (начальные координаты у нас уже есть - мы их выловили с помощью обработчика нажатия кнопки мыши допустим MouseButtonDowm), только получили координату и сразу перерисовываем прямоугольник (формулка выше) .
Обработчик MouseMove вызывается каждый раз когда мышь передвигается хоть на пиксель.
LineTo как изменять размер во время движения не понимаю....
Только дорисовывать или зарисовать прошлую линию цветом фона и нарисовать новую.
помогите с цыклом который ето будет делать
Обработчика WinApi MouseMove и будет твоим циклом.
Могу предложить решение в лоб:
Как понимаю ты рисуеш линии на форме а я могу предложить кинуть на форму pictureBox и рисовать по нему.
Тупо в начале обработчика движения мыши делать pictureBox.clean() и прорисовывать прямоугольник по новой (правда мерцать может)
Мое сонное видение задачи ;)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot