![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Listbox pt.3
Bobby Digital © (2004-11-28 16:59:00)а как изменить значек крсора на стандартный если мышь находится вне Listbox`a
OneFragLeft (2004-11-28 17:37:00) [1]Вот:
procedure TForm1.ListBox1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
ListBox1.Cursor:=crDefault;
end;
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
ListBox1.Cursor:=crDrag;
end;
+ У ListBox св-во DragMode:=dmAutomatic; Можешь в инспекторе объектов поставить.
Bobby Digital (2004-11-28 17:30:00) [2]в смыле он работал когда в листбоксе нету выбранных елементов как только выбираешь елемент он опять меняет вид на Дефолт
Bobby Digital (2004-11-28 17:27:00) [3]пытался ListBox1.Cursor:=crDrag перед тем как screen.cursor, но по неведомой мне причине курсор так и оставался вида default
OneFragLeft (2004-11-28 17:24:00) [4]А может лучше ListBox1.Cursor:=crDrag и т.д.? При чём здесь Screen?
Bobby Digital (2004-11-28 17:16:00) [5]как то не рационально кажется
Bobby Digital (2004-11-28 17:15:00) [6]Я тут думаю может по таймеру проверять событие MouseDown ... чтоб в том случае если оно не выполняется то изменить курсорна Default
Bobby Digital (2004-11-28 17:12:00) [7]Он меняется по действию MouseDown на screen.Cursor:=crDrag, а при MouseUp на screen.Cursor:=crDefault, это все просходит над Listbox, если 2 раза кликнуть на елементе Listbox`a появляется MessageDlg, по его исчезновению ... появляется небольшой глюк курсор меняет вид на screen.crDrag
OneFragLeft (2004-11-28 17:07:00) [8]А зачем его менять, он и так будет стандартный.
Просто не надо ничего придумывать в MouseMove у ListBox. А просто поставить св-во Cursor в такое, какое надо.