Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

TListView и TTreeView - Windows Explorer

Delphi , Компоненты и Классы , TListView

TListView и TTreeView - Windows Explorer

Автор: Ray Konopka

Когда ваш компьютер говорит "Вставьте диск #2", не торопитесь, сначала выньте диск номер один... даже если вы уверены, что сможете засунуть туда оба.

У меня есть TTreeView и TListView, размещенные точно так же, как это сделано в Windows Explorer (фактически я хочу им придать и то же функциональное назначение). Как мне сделать следующее:

При двойном щелчке на элементе ListView узнать его индекс? Затем, как мне 'открыть' ветку и папку в компоненте TreeView, являющегося 'родителем' данного элемента? (В точном соответствии с функциональностью Проводника, к этому моменту родительский узел TreeView должен уже быть выбран - поэтому, я понимаю, необходимо правильно определить дочерний узел - но я чего-то запутался в синтаксисе).

Ниже приведен пример кода, показывающий как выбрать правильный узел дерева, по которому произведен двойной щелчок.

Как вы можете здесь видеть, ключем здесь является функция NodeAtIndex. Данный пример подразумевает наличие дочерних узлов и индексов, начиная с нуля. Так, если мы подразумеваем что был выбран родительский узел списка элементов, (что является безопасным предположением), то мы можем использовать данный узел как отправной пункт. Методы GetFirstChild и GetNextSibling "отправляют" вас к желаемому узлу.


function TFrmTipExplorer.NodeAtIndex(Index: Integer): TTreeNode;
var
  I: Integer;
begin
  Result := TreeView1.Selected.GetFirstChild;
  for I := 0 to Index - 1 do
    Result := Result.GetNextSibling;
end;

procedure TFrmTipExplorer.ListView1DblClick(Sender: TObject);
begin
  TreeView1.Selected.Expand(False);
  { Выбираем узел дерева, соответствующий "щелканному" элементу списка }
  NodeAtIndex(ListView1.Selected.Index).Selected := True;
end;

Статья TListView и TTreeView - Windows Explorer раздела Компоненты и Классы TListView может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: TListView ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
18.04.2024 20:27:24/0.042968988418579/0