![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
LIstBox mouseMove => selected items [D6, 2000]
Officeman © (2006-07-19 14:38:00)как реализовать?
Тех.Задание
навёл мышью на элемент items и он автоматически выделился.
(без нажатия мышью)
// ;) пробовал различными дурацкими способоми , непомогло (
// обращаюсь к вам за помощью
procedure TForm2.HTMListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer );
var
Value:TNotifyEvent;
begin
value:=HTMListBox1Click;
HTMListBox1.OnClick:=Value;
end;
Хинтоман (2006-07-19 17:41:00) [1]
ListBox1.Hint := ListBox1.Items[ListBox1.ItemIndex];
Application.ActivateHint(Point(X, Y));
StriderMan (2006-07-19 15:46:00) [2]
> Officeman (19.07.06 15:38) [4]
присваивать то же значение в обработчике MouseMove. а Хинт должен появится при удержании мыши над контролом.
Можно конечно в MouseMove вызывать обработчик Onclick
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
begin
ListBox1.ItemIndex:=ListBox1.ItemAtPos(Point(X, Y),true);
ListBox1Click(Sender);
end;
но это будет жестоко если в обработчике Click выполняется много всего.
Elen (2006-07-19 15:46:00) [3]
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
begin
ListBox1.ItemIndex:=ListBox1.ItemAtPos(Point(X, Y),true);
ListBox1Click(self)
//Про хинт не знаю
end;
Officeman (2006-07-19 15:38:00) [4]Мастера вы супер! всё выделяется.
дальше...
Каждому Элементу LIstBox-a соответствкет свой HINT
который присваивается при OnClick()
как доделать чтоб кроме выделения. ещё и OnClick срабатывал и вылезал HINT
Elen (2006-07-19 14:56:00) [5]
> StriderMan © Упростим
Одна голова хорошо, а две уже упрощенно ;-)
StriderMan (2006-07-19 14:53:00) [6]
> Elen © (19.07.06 14:51) [1]
Упростим
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
begin
ListBox1.ItemIndex:=ListBox1.ItemAtPos(Point(X, Y),true);
end;
Elen (2006-07-19 14:51:00) [7]
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var t:tpoint;
begin
t.X :=x;t.Y :=y;
ListBox1.ItemIndex:=ListBox1.ItemAtPos(t,true);
end;