Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1

Как на канве правильнее сделать линию

28.02.2012, 19:49. Показов 1317. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm2.Image1Click(Sender: TObject);
begin
    Image1.Canvas.Pen.Color:=colordialog4.color;
    Image1.Canvas.Pen.Width:=cb4;
    GetCursorPos(mouse);
    xx:=mouse.X;
    yy:=mouse.Y;
    Image1.Canvas.MoveTo(xx,yy);
end;
 
procedure TForm2.Image1DblClick(Sender: TObject);
begin
      GetCursorPos(mouse1);
      x1:=mouse1.X;
      y1:=mouse1.Y;
      Image1.Canvas.LineTo(x1,y1);
end;
mouse,mouse1=TPoint
xx,yy,x1,y1=integer
Я даже решил прочекать шоумесседжем координаты, но они почему-то одинаковы, и не получилось при активации сделать(
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.02.2012, 19:49
Ответы с готовыми решениями:

Как правильнее сделать?
Как правильно сделать: сначала создать интерфейс программы(формы , фреймы , кнопки и т. д.) или написать программный код?!

Как сделать лучше (правильнее)?
Вариант №1 кода: // type TLength = {} type TLength = { length: number; } // function getLength() function getLength(param:...

ООП. Как правильнее сделать?
Только начал изучать этот ЯП. До этого с ООП не сталкивался, только процедурный подход. В python классы являются объектами. И, если,...

3
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
28.02.2012, 20:36
batmanrider, вы рассчитываете координаты положения курсора относительно левого верхнего угла экрана, а форма может быть смещена. Поэтому как вариант для вашего случая стоит хотя бы из положения мыши вычитать положение формы и положение самого компонента Image1.
0
 Аватар для NIch
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,119
29.02.2012, 02:19
Порекомендовал бы отреагировать на события OnMouseDown и OnMouseUp....
При первом событии получаешь координаты начала линии и во втором конца!
Для постоянной перерисовки линии есть событие OnMouseMove...
1
 Аватар для batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
29.02.2012, 07:03  [ТС]
Цитата Сообщение от NIch Посмотреть сообщение
Порекомендовал бы отреагировать на события OnMouseDown и OnMouseUp....
При первом событии получаешь координаты начала линии и во втором конца!
Для постоянной перерисовки линии есть событие OnMouseMove...
Спасибо большое, получилось как хотел, благодарен за замечательную идею)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.02.2012, 07:03
Помогаю со студенческими работами здесь

Подскажите как правильнее сделать
и так, решил я написать для себя страницу календаря в обучающих целях с какой-нибудь js логикой. создал контейнер, в него запихнул...

Как правильнее сделать БП с двумя входами?
Извиняюсь за глупый, возможно, вопрос, но подскажите как бы по-умнее сделать такой блок питания: в девайсе два напряжения 3,3В для МК и...

Как сделать перемещение линии на канве?
Допустим есть линия, которая соединяет два каких то объекта. Как сделать чтобы при перемещении любого из объектов линия продолжала тянутся...

Как сделать правильнее простейшие шифрование XOR
Здравствуйте. Учи ASM, но не хватает времени, что бы читать учебники, поэтому приходится учится по статьям, главам и пытаться писать. В...

Как правильнее всего сделать ListView с поиском
Привет! Обычная ситуация. Есть ListView с большим количеством элементов и есть Текстовое поле поиска. Я конечно перехватил событие...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru