![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
wm_mousemove [D5, Win95/98]
Schummi © (2002-07-20 10:53:00)Мастера, подскажите, как отловить перемещенее мыши - будь то по форме с компонентами или вне формы. Зачем мне это надо: в ListBox1 показываются строки, если строка длиннее, чем сам ListBox1, то показывается hint в прямоугольнике строки. Но если резко дернуть мышку, то hint останется, а надо, чтобы он убирался. Помогите, плз! Спасибо!
Alx2 (2002-07-31 08:55:00) [1]Посмотри еще что-нибудь наподобие OnMouseLeave
Schummi (2002-07-31 08:13:00) [2]Ясно!
Starkom (2002-07-30 08:41:00) [3]2 Шумми, у меня для такой цели висит таймер. Пусть дергает - через 2,5 секунды хинт исчезает, и это достаточно ненапряжно.
Schummi (2002-07-30 08:36:00) [4]ok попытаюсь!
Eugene Lachinov (2002-07-25 09:27:00) [5]Попробуй так
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
Item : Integer;
sHint : string;
begin
if Shift = [] then begin
Item := ListBox1.ItemAtPos(Point(X, Y), True);
if Item <> -1 then
sHint := ListBox1.Items[Item]
else
sHint := "";
if ListBox1.Hint <> sHint then begin
Application.CancelHint;
ListBox1.Hint := sHint
end
end
end;
Schummi (2002-07-25 09:13:00) [6]2SPeller ну а вдруг ему захочется!
SPeller (2002-07-21 08:36:00) [7]А вообще, зачем это тебе? Сделай так, чтобы навёл мышой - появился хинт и висел, пока не уберёшь указатель. Зачам оно надо юзеру ради лицезрения твоего хинта дёргать мышкой?
SPeller (2002-07-21 08:34:00) [8]Всё дело в том, что если "резко дёрнуть" мышкой, то следующий mousemove произойдёт на расстоянии ну около 50-100 пикселей. Так и определяй, резко или не резко.
Schummi (2002-07-21 06:09:00) [9]To ION T ©
Вот именно, я и не знаю, как может пользователь дернуть мышкой! А ты разве сам на понимаешь, как это - резко и нерезко???
Polevi (2002-07-20 13:20:00) [10]хук
ION T (2002-07-20 13:17:00) [11]А как определишь "резко" или "не резко"?)