Показать сообщение отдельно
  #2  
Старый 21.08.2014, 19:14
Zorkov Igor Zorkov Igor вне форума
Новичок
 
Регистрация: 28.07.2009
Сообщения: 85
Репутация: 50
По умолчанию

Код:
procedure TForm1.VirtualStringTree1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  i, Column: DWORD;
  Node: PVirtualNode;
begin
  i:= 0;
  Node := (Sender as TVirtualStringTree).GetNodeAt(X, Y);
  for i := 0 to VirtualDrawTree1.Header.Columns.Count - 1 do
  begin
    if (X >= VirtualDrawTree1.GetDisplayRect(Node, i, False).Left) and (X <= VirtualDrawTree1.GetDisplayRect(Node, i, False).Right) then
    begin
      Column := i;
      Break;
    end;
  end;
  LeftPos:= (Sender as TVirtualStringTree).GetDisplayRect(Node, Column, False).Left;
  TopPos:= (Sender as TVirtualStringTree).GetDisplayRect(Node, Column, False).Top;



Ответить с цитированием