Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Определение координат на форме


Автор: DYUMON 14.4.2014, 10:52
Доброго всем времени суток.
Такой вопрос.
Есть форма с гридом у заголовков колонок в нем есть меню. По нажатию на меню всплывает форма. Она всплывает в случайном месте. Как определить координату под пунктом меню? что окно всплывало строго под пунктом меню.

Автор: CynicRus 14.4.2014, 11:01
Функция
Код

GetCursorPos


Описание:

Код

function GetCursorPos(var Point: TPoint);


Считывает экpанные кооpдинаты текущего положения куpсоpа.

И с помощью неё прочитать координаты курсора? Или в пункте меню может быть есть - onmousemove?

Автор: Romikgy 14.4.2014, 11:03
http://stackoverflow.com/questions/6647817/delphi-how-to-get-cursor-position-on-a-control
http://stackoverflow.com/questions/826914/how-do-i-get-the-coordinates-of-the-mouse-when-a-control-is-clicked

Автор: DYUMON 14.4.2014, 19:27
делал так  
Код

ClientToScreen(Mouse.CursorPos)

 вылезает в  случайном месте

Автор: CynicRus 14.4.2014, 21:03
Пропробуй вот так:

Код

function GetCursorPosForControl(AControl: TWinControl): TPoint;
var 
  P: TPoint; 
begin
  Windows.GetCursorPos(P);
  Windows.ScreenToClient(AControl.Handle, P );
  result := P;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)