Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2010, 16:12   #1
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию выбор процедуры

попытался я поэкспериментировать с процедурами onclick, image1mousedown, form1mousedown, form1mousemove, но как-то они не решили моих задач.

мне нужно знать координату щелчка по форме(любое место, любой элемент формы), я знаю позицию курсора(mousemove работает хорошо), но вот в какой процедуре ее обрабатывать не получается понять.

можете указать пару "процедура-событие" для решения задачи? я думаю, что я не могу сам подобрать эту правильную пару или процедуры работают неправильно.
korand вне форума Ответить с цитированием
Старый 10.03.2010, 16:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я бы не парился а назначил всем объектам одно и то же событие клика.
А в нем методом TForm.ScreenToClient(Mouse.CursorPo s) получал координаты клика на форме не смотря на компоненты.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2010, 16:43   #3
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Вот сейчас через form1MouseDown я добился реакции на клик в форме, выставив каждому объекту событие OnMouseDown, но проблема в том, что form1MouseMove в событии OnMouseMove отражает координаты относительно объекта. Можно в данном случае получить "глобальные" координаты?

to Stilet:
Можете пояснить Ваше предложение?
Я правильно понял, что нужно всем объектам выствить OnClick как вы написали, а в самой процедуре использовать S ? Что в этом случае отражает S и как она зависит от объекта?
korand вне форума Ответить с цитированием
Старый 10.03.2010, 16:48   #4
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Для получения глобальных координат используйте getcursorpos.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 10.03.2010, 16:49   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Виталий вам сказал использовать Mouse.CursorPos для получения координат мыши(далее преобразовывать их)
получиться чтото типа
Код:
var R:TRect;
begin
 R:=Self.ScreenToClient(Mouse.CursorPos);
 //R.x     R.y         соответственно x и y координаты курсора
этот код можно и в OnClick использовать
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2010, 17:14   #6
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Разобрал оба способа, все получилось. Self.ScreenToClient очень полезна, но вот R нужен типа TPoint.
Спасибо Пепел Феникса, ImmortalAlexSan, Stilet.
korand вне форума Ответить с цитированием
Старый 10.03.2010, 17:15   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а в самой процедуре использовать S ?
Какая еще S? Я ничего не говорил такого, это двиг форума разорвал слова.
Цитата:
нужно всем объектам выствить OnClick
А лучше OnMouseDown
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2010, 17:19   #8
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Я как раз применял на mousedown, потому что лучше понимаю, чем onclick. Просто много чего смотрел, а везде свои методы.
korand вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВЫБОР БД chekanoff БД в Delphi 10 16.09.2009 20:15
Выбор носителя andirock2112 Общие вопросы Delphi 2 07.06.2009 10:26
выбор бд Roof БД в Delphi 9 14.01.2009 08:04
Запуск процедуры из процедуры с дополнением 1sal1 Общие вопросы Delphi 3 06.10.2008 21:54
выбор значения SveSve Microsoft Office Excel 2 16.04.2008 19:13