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

Вниз

Событие 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.013 c
15-1218023843
Ru
2008-08-06 15:57
2008.10.05
А чего чат сдох?


2-1219826998
demon
2008-08-27 12:49
2008.10.05
Горячие клавиши


15-1218711018
Vlad Oshin
2008-08-14 14:50
2008.10.05
Об именах. Вот зачем так делать, да еще в пример ставить.


15-1218274270
king
2008-08-09 13:31
2008.10.05
Опыт работы


2-1219716327
Abcdef123
2008-08-26 06:05
2008.10.05
Как заполнить список TDBComboBox.Items данными из DataSet?





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