Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

форма и координаты мышки


vlasov ©   (2009-01-22 16:58:00) 

форма прячется за экран,при условии что курсор за 2ед. до левого края экрана, форма появляется. Все бы ничего, да только работает это когда программа активна(форма), а если развернуть скажем мой компьютер и моя программа фокус теряет, то форма больше не вылезает, пока ее не фокусировать.
этой функцией проверяю координаты мышки. Что нужно поменять чтобы форма вылезала всегда при наведении курсором в край экрана?
function TForm2.MouseInFormRect: Boolean;
var
MousePos: TPoint;
begin
GetCursorPos(MousePos);
if (MousePos.X > Left-2) and (MousePos.X < Screen.WorkAreaWidth) and
  (MousePos.Y > Top) and (MousePos.Y < Screen.WorkAreaHeight) then
  Result := True
else
  Result := False;
end;


Б   (2009-02-21 18:24:00) [1]

Вот решение:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=64947


fat.hamster   (2009-01-22 18:50:00) [2]

понятно, что форма ловит не события OnMouse*, а просто перемещения мышки по экрану

когда фокус не на форме - она ничего и не ловит

хук на мышку поставить?


Б   (2009-01-22 18:21:00) [3]


> if (MousePos.X > Left-2) and (MousePos.X < Screen.WorkAreaWidth)
> and
>   (MousePos.Y > Top) and (MousePos.Y < Screen.WorkAreaHeight)
> then


Для этого есть процедура ScreenToClient.


Б   (2009-01-22 18:15:00) [4]

Наведение мыши перехватывай в ApplicationManadger.


clickmaker   (2009-01-22 17:48:00) [5]

а в какой момент взывается MouseInFormRect?


@!!ex   (2009-01-22 17:10:00) [6]

Вероятно таймер нужен?


Наверх

Титульная страница Поиск, карта сайта Написать письмо