
03.01.2009, 00:18
|
 |
Начинающий
|
|
Регистрация: 13.12.2008
Адрес: Туапсе
Сообщения: 161
Репутация: 20
|
|
Такой вариант устроит?
Код:
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var i : Integer;
rt : TRect;
dc : Cardinal;
begin
if y <= 4 then istBox1.TopIndex := ListBox1.TopIndex - 1;
if y >= ListBox1.Height - 4 then ListBox1.TopIndex := ListBox1.TopIndex + 1;
i := ListBox1.ItemAtPos(Point(x,y), true);
if ListBox1.Tag = i then exit;
rt := ListBox1.ItemRect(ListBox1.Tag);
InvalidateRect(ListBox1.Handle, @rt, true);
ListBox1.Tag := i;
rt := ListBox1.ItemRect(i);
dc := GetDC(ListBox1.Handle);
MoveToEx(dc, rt.Left, rt.Top + 1, nil);
LineTo(dc, rt.Right, rt.Top + 1);
ReleaseDC(ListBox1.Handle, dc);
end;
Дальше доработай.
__________________
...сказал, и загрустил от бесспорной своей правоты
|