Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.05;
Скачать: CL | DM;

Вниз

Событие MouseMove и всплывающее окно.   Найти похожие ветки 

 
DJones   (2008-08-28 16:48) [0]

На главной форме программы расположен объект TImage, при наведении на который курсора мыши должна появляется вторая форма... Подскажите плиз, каким образом реализовать исчезновение второй формы при покидании мыши области, занимаемой TImage


 
workbench   (2008-08-28 17:20) [1]

Я, конечно, мягко говоря, не гуру, но почему бы и предположить...
Если именно через MouseMove нужно, то на OnMouseMove TImage можно поставить показ 2-й формы, а на OnMouseMove главной формы закрытие 2-й, хотя наверно лучше переделать это обработчику самого TApplication и отдуда исходя из полученных координат делать уже то что нужно...


 
oldman ©   (2008-08-28 17:25) [2]


> DJones   (28.08.08 16:48)  


То есть, вторая форма чисто информативная.
Работать с ней нельзя.

А зачем такой изврат?


 
workbench   (2008-08-28 17:32) [3]


> oldman


может у него что-то вроде image-viewer`а, TImage - маленькие картинки, а на форме у него они уже развёрнуты на всё окно, да мало ли... хз...


 
oldman ©   (2008-08-28 17:42) [4]


> workbench   (28.08.08 17:32) [3]


Я не знаю его задач, но всплывающая форма есть изврат.

1. Для информации есть hint
2. На всплывшем окне может быть кнопка close. И окно может быть модальным и срабатывать по клику. Даже и не модальным, как на сайтах с просмотром фото - не мешает абсолютно.


 
Vlad Oshin ©   (2008-08-28 17:57) [5]

procedure TForm1.Memo1MouseEnter(Sender: TObject);
begin
form2.show;
form1.SetFocus;
end;

procedure TForm1.Memo1MouseLeave(Sender: TObject);
begin
 form2.Hide;
end;


 
oldman ©   (2008-08-28 18:02) [6]


> Vlad Oshin ©   (28.08.08 17:57) [5]


Я экспериментировал.
Если работать мышью с феноменальной скоростью - не срабатывает.


 
DJones   (2008-08-29 10:31) [7]


> То есть, вторая форма чисто информативная.
> Работать с ней нельзя.


Да, туда просто выводится некоторые параметры. (Не хочу занимать ими пространство главной формы) Открываю ее как Form2.ShowModal, при уходе курсора с картинки Form2 не изчезает...
Если это не сильно рационально, подскажите как сделать грамотней...


 
oldman ©   (2008-08-29 10:34) [8]


> Открываю ее как Form2.ShowModal


И думаешь, что после этого события мыши на Form1 отслеживаются?
Ну-ну...


 
Palladin ©   (2008-08-29 10:37) [9]

думаю нужно устанавливать hook на мышь


 
Vlad Oshin ©   (2008-08-29 10:40) [10]


> oldman ©   (28.08.08 18:02) [6]

а нафиг работать с феноменальной скоростью?
а если нужно работать с феноменальной скоростью, то кто будет еще и читать при этом
> некоторые параметры


 
oldman ©   (2008-08-29 10:42) [11]


> Vlad Oshin ©   (29.08.08 10:40) [10]
>
> > oldman ©   (28.08.08 18:02) [6]
>
> а нафиг работать с феноменальной скоростью?


Навести мышь, почитать параметры и резко уйти с картинки (стрельнуло срочно открыть браузер).
Окно не закроется.


 
oldman ©   (2008-08-29 10:45) [12]


> DJones   (29.08.08 10:31) [7]


А чем hint не устраивает?
Не устраивает стандартный, так в инете всяких кузявых навалом.


 
Vlad Oshin ©   (2008-08-29 10:55) [13]

вот, сколько не пробовал - никогда не оставалось окно, как бы не дергал мышой.

type
 TForm1 = class(TForm)
   Image1: TImage;
   procedure Image1MouseEnter(Sender: TObject);
   procedure Image1MouseLeave(Sender: TObject);
 private
    f:tHintWindow;
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: tForm1;

implementation
  uses StdCtrls;
{$R *.dfm}

procedure TForm1.Image1MouseEnter(Sender: TObject);
var
 memo:tMemo;
 PT:tPoint;
begin
 f:=THintWindow.Create(form1);
 f.Hide;
 f.Parent:=form1;
 f.Width:=200;
 f.Height:=200;
 GetCursorPos(PT);
 f.Left:=PT.X;
 f.Top:=PT.Y;
 memo:=Tmemo.Create(f);
 memo.Parent:=f;
 memo.Align:=alClient;
 memo.Lines.Add("qqqqqqqqqqqqq");
 memo.Lines.Add("wwwwwwwwwwwww");
 f.Show;
end;

procedure TForm1.Image1MouseLeave(Sender: TObject);
begin
 freeandnil(f);
end;



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

Текущий архив: 2008.10.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
15-1218801331
_koha
2008-08-15 15:55
2008.10.05
Неприодалимые глюги ?


1-1199531227
ras122
2008-01-05 14:07
2008.10.05
помогите с работой с мышкой, пожалуйста


15-1218679559
Slider007
2008-08-14 06:05
2008.10.05
С днем рождения ! 14 августа 2008 четверг


15-1218627135
programmist87
2008-08-13 15:32
2008.10.05
Как скрыть процесс?


2-1219304173
начинающий
2008-08-21 11:36
2008.10.05
как выбрать данные?