Показать сообщение отдельно
  #2  
Старый 03.05.2009, 21:03
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Можно записывать добавляемые имена html-файлов в TStringList, а атрибуту Data соответствующего ему элемента в TreeView присваивать указатель на эту добавленную строку.
Код:
type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    Button1: TButton;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
  private
    { Private declarations }
    WebAddresses: TStringList; // хранит пути к html-файлам
  public
    { Public declarations }
  end;

..........................

procedure TForm1.FormCreate(Sender: TObject);
begin
  WebAddresses := TStringList.Create;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  WebAddresses.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin // добавляем очередной элемент и назначаем ему строку с путем
  WebAddresses.Add(Edit1.Text);
  
  { это просто демонстрирует, как инициализируется указатель Data.
    Добавляйте элементы в TreeView так, как желаете сами }
  TreeView1.Items.AddChild(TreeView1.Items.GetFirstNode, 'Item caption').Data := 
     @WebAddresses.Strings[WebAddresses.Count - 1][1];
end;

Тогда навигацию веб-браузером нужно осуществлять так:
Код:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  WebBrowser1.Navigate(StrPas(PChar(Node.Data)));
end;
Ответить с цитированием