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

Вниз

Определение позиции Мышки   Найти похожие ветки 

 
nstur   (2006-09-11 14:13) [0]

Уважаемые Мастаки!!!
Как определить находится ли указатель мыши на форме или вне её?
Мне нужно раскрывать форму при наведении на неё мышкой и соответственно захлопывать (уменьшать в размерах) при сходе мышки.


 
Elen ©   (2006-09-11 14:24) [1]

Как вариант :
procedure TForm1.Timer1Timer(Sender: TObject);
var p:tpoint;
begin
GetCursorPos(p);
if (p.X>=form1.left )and(p.Y>=form1.top  ) then
  FlashWindow(form1.Handle,true);
end;

Есть и другие...


 
Zeqfreed ©   (2006-09-11 14:24) [2]

 TForm1 = class(TForm)
 private
   { Private declarations }
 public
   procedure CMMouseEnter(var Msg : TMessage); message CM_MOUSEENTER;
   procedure CMMouseLeave(var Msg : TMessage); message CM_MOUSELEAVE;
 end;

. . .

{ TForm1 }

procedure TForm1.CMMouseEnter(var Msg: TMessage);
begin
 inherited;
 //DoExpand();
end;

procedure TForm1.CMMouseLeave(var Msg: TMessage);
begin
 inherited;
 //DoCollapse();
end;


 
Loginov Dmitry ©   (2006-09-11 16:25) [3]

Вариант с таймером надежнее.


 
Zeqfreed ©   (2006-09-11 16:32) [4]

> [3] Loginov Dmitry ©   (11.09.06 16:25)

Не люблю извращаться. CMMouseEnter/Leave меня всегда вполне устраивают.


 
nstur   (2006-09-12 11:11) [5]

Все хорошо, но CMMouseEnter/Leave работает только в приложении. А если мышь ушла вне его, то события не отрабатывают. Пришлось перекрывать Application.OnIdle:= IdleEvent; где
 try
   if PointInRect(Mouse.CursorPos, Self.BoundsRect) then
     FormActivate(Self)
   else
     FormDeactivate(Self);
 except
   on E:Exception do;
 end;

function PointInRect(const P: TPoint; const R: TRect): Boolean;
begin
 with R do
   Result := (Left <= P.X) and (Top <= P.Y) and
     (Right >= P.X) and (Bottom >= P.Y);
end;

Exception - пришлось добавить для выхода компа из спящего режима


 
Loginov Dmitry ©   (2006-09-12 12:25) [6]

>   on E:Exception do;


Зачем?



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

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

Наверх




Память: 0.45 MB
Время: 0.014 c
15-1157729936
Opilki_Inside
2006-09-08 19:38
2006.10.01
Иконки в формате PNG на Toolbar е. Есть ли компонент?


15-1158055927
комар
2006-09-12 14:12
2006.10.01
еще вопрос


6-1147237414
hcsr
2006-05-10 09:03
2006.10.01
Как программно узнать соеденён ли комп с инетом


2-1158297772
Officeman
2006-09-15 09:22
2006.10.01
Excel. WorkSheet. высота строки?


1-1155780530
_HAWK_
2006-08-17 06:08
2006.10.01
Картинки в ListBox e





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский