Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];

Вниз

Как перевести координаты мыши в координаты объекта?   Найти похожие ветки 

 
Aleksandr   (2001-12-21 12:53) [0]

Что-то я отупел уже... Мне при событии OnMouseDown надо X и Y перевести в координаты своего графического объекта, который находится на панели, которая находится на панели и т.д. Как можно автоматизировать этот процесс? Я так понимаю, координаты мыши ведут отсчет от начала формы?


 
Alx2   (2001-12-21 12:58) [1]

см. ClientToScreen


 
Aleksandr   (2001-12-21 13:01) [2]

Пробовал... Не совпадает... К примеру, высота нажатия от начала координат объекта=47, а ScreenToClient возвращает 77.


 
Lusha   (2001-12-21 13:02) [3]

(Задумчиво так)
А есть еще системные константы определяющие величину заголовка окна, и borders.


 
Alx2   (2001-12-21 13:06) [4]

Если бегаем мышью на Form1, то

procedure TForm1.RxDBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
Var P : TPoint;
begin
P := MyGraphicsObject.ScreenToClient(ClientToScreen(point(x,y)));
end;

Иначе ClientToScreen вызываем объекта Sender.
(Именно этот пример не проверял, правда. "Но истина где-то рядом" (c) агент Малдер)


 
Lusha   (2001-12-21 13:21) [5]

Координаты мыши ведут отсчет от начала клиентской области окна. Поэтому иногда и приходится вспоминать GetSystemMetrics. Правда, если честно, я так и не понял, чего Вы хотите в итоге... (

P.S. Ну, расслабленный я сегодня. Уж, извините.


 
Aleksandr   (2001-12-21 13:24) [6]

Сорри, вопрос закрыт... Обработчик не инхеритил... Всем спасибо.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.012 c
3-28443
PVR
2001-12-06 17:58
2002.01.10
Хочу записать звук с микрофона в фиелд


1-28478
tovSuhov
2001-12-22 13:47
2002.01.10
Как поюзать ListView ?


3-28419
Denis Proshkin
2001-12-06 15:41
2002.01.10
фильтрация по Date


3-28406
vinni2000
2001-12-07 15:38
2002.01.10
И чего это он ругаеться?


1-28499
nevidimie
2001-12-23 13:44
2002.01.10
Обработка Memo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский