![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте, помогите пожалуйста мне решить одну проблему.
На форме имеются элементы TreeView,Edit(предполагается ввод имени html-файла, который располагается в папке с программой) и WebBrowser и кнопка по нажатии которой я добавляю элементы в дерево. Как мне прикрепить к новому элементу html-файл чтобы он отображался в WebBrowser. В TreeView уже имеются элементы и по событию TreeView1Change я использую цикл case TreeView1.Selected.AbsoluteIndex of 0: WebBrowser1.Navigate(s+'*.htm'); и т.д. Заранее благодарю за помощь. |
#2
|
|||
|
|||
![]() Можно записывать добавляемые имена 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; |