Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 24.05.2009, 01:47   #1
Above_men
Пользователь
 
Регистрация: 10.03.2008
Сообщений: 10
Репутация: 10
Смущение обьясните как связать TreeView и WebBrowser

Всем доброго времени суток...

Прошу вашей помоши по TreeView...

Пишу программу справочник, Нужно чтоб выбраный элемент в TreeView загружался в TWebBrowser форме.... В качестве выводимой информации береться html страничка с папки с программой...

До этого работал с listbox'ом... там у меня все получалось... список файлов в листбоксе загонялось в массивы... и если выбран 1 элемент массива.. то открывалась нужная страница в вебброузер элементе...

Тут нужно тоже самое... только я никада раньше неработал с TreeView и никак все не могу 2 день допереть как это сделать...

Знающие люди... помогите пожалуйста.. а то 2 день несплю =(((
Above_men вне форума   Ответить с цитированием
Старый 24.05.2009, 11:06   #2
Neeter
Участник клуба
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Адрес: Кострома
Сообщений: 875
Репутация: 279

icq: 583715699
По умолчанию

Можете проверять так, при onClick у TreeView
Код:

procedure TForm6.TreeView1Click(Sender: TObject);
begin
 if TreeView1.Selected.Text = '1' then WebBrowser1.Navigate('http:\\www.programmersforum.ru\');
 if TreeView1.Selected.Text = '2' then WebBrowser1.Navigate('http:\\google.ru\');
end;

Но это очень долго, лучше создайте ini-файл, например такой:
Код:

[Urls]
1=http:\\www.programmersforum.ru\
2=http:\\google.ru\

Добавьте в Uses модуль IniFiles
И потом пишите:
Код:

procedure TForm6.TreeView1Click(Sender: TObject);
var
 urls: TIniFile;
begin
 //if TreeView1.Selected.Text = '1' then WebBrowser1.Navigate('http:\\www.programmersforum.ru\');
 //if TreeView1.Selected.Text = '2' then WebBrowser1.Navigate('http:\\google.ru\');
 urls := TIniFile.Create('D:\Urls.ini');
 try
  if urls.ValueExists('Urls', TreeView1.Selected.Text) then
   WebBrowser1.Navigate(urls.ReadString('Urls', TreeView1.Selected.Text, ''))
  else
   Application.MessageBox('Такого URL в файле нет!', 'Ошибка!', MB_OK or MB_ICONSTOP);
 finally
  urls.Free;
 end;
end;

Тут идет проверка на заголовки элементов. Так что вам надо в ini-файле сделать такие же заголовки, как и в TreeView
__________________
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума   Ответить с цитированием
Старый 24.05.2009, 12:20   #3
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2661
По умолчанию

У TreeView к каждому итемсу есть возможность прицепить OBJECT, посмотрите в хэлпе пример TreeView.Items.AddObject или TreeView.Items.AddChildObject.
Никаких ини-файлов, никакой посторонней байды - все однозначно подцепляется к итемсу дерева, может быть использовано, изменено, удалено...
mihali4 вне форума   Ответить с цитированием
Старый 24.05.2009, 14:46   #4
Alter
Профессионал
 
Аватар для Alter
 
Регистрация: 06.08.2007
Адрес: Пустота
Сообщений: 2,211
Репутация: 982
По умолчанию

А ещё есть Data, тип Pointer. Можете структуры или ещё что хранить.
__________________
DelphiWorld 6, АVL 2.0.1.3
Alter вне форума   Ответить с цитированием
Старый 30.04.2010, 14:40   #5
shaman888
 
Регистрация: 05.03.2010
Сообщений: 5
Репутация: 10
По умолчанию

mihali4,
я попробовал вот так, чтобы открытый в webbrowser файл записывался в treeview, но почему то не работает

Код:

 CaptionStr:String;
 NewNode:TTreeNode;
begin
 CaptionStr:='';
 if not InputQuery('Ввод имени элемента', 'Введите заголовок 
элемента',CaptionStr) then exit;

 NewNode:=TreeView1.Items.AddObject(Treeview1.Selected, CaptionStr, pointer(opendialog1.FileName));
 if NewNode.Parent<>nil then
  NewNode.ImageIndex:=1;

shaman888 вне форума   Ответить с цитированием
Старый 30.04.2010, 14:41   #6
shaman888
 
Регистрация: 05.03.2010
Сообщений: 5
Репутация: 10
По умолчанию

Мало знаком с delphi и мало что пинимаю в этом. В чём ошибка?
shaman888 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связать TreeView с Panel Tagroth Компоненты Delphi 6 10.04.2009 23:46
вывод xml данных из TreeView в webbrowser Dr.XxX Общие вопросы Delphi 1 10.10.2008 12:06
Как связать C++ и Access? demon-189 Общие вопросы C/C++ 1 23.04.2008 19:49
DBChart как связать с БД ? Cantana Помощь студентам 2 02.02.2008 15:40


18:06.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru