![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обратится к свойствам компонента??? [D7, WinXP]
Vardoulacha © (2005-09-15 08:11:00)вообщем смысл такой:
1) есть PageControl на нем динамически создается TabSheet
2) на TabSheet помещается с помощью InsertControl(Frame); фрейм на котором находится компонент TWebBrowser с именем WB
3) то есть например динамически создали несколько TabSheet с помещенными на них WebBrowser
сам вопрос в следующем: как мне обратится к компоненту WebBrowser (например сделать ему Navigate) который находится на том TabSheet который в данный момент активен?
msguns (2005-09-15 14:56:00) [1]Только вот непонятно, за что был убит ни в чем не винный фрэйм ?
Обращение к "нужному" объекту из энного кол-ва динамически созданных из одного класса, легко и просто через св-во Screen.ActiveControl с явным преобразованием к типу объекта
Vardoulacha (2005-09-15 11:33:00) [2]все заработало выкинул нафиг Frame пошел он куда подальше (зато приобрел опыт его использования) динамически создаю WebBrowser (раньше тоже сначала сделал динамически создание но потом столкнулся с проблемой как к нему обратится) но теперь научился сейчас расскажу как это сделать:
создание всего что надо :)
procedure TMainForm.butNewClick(Sender: TObject);
var
TabSheet: TAdvTabSheet;
j: Integer;
Flags: OLEVariant;
WB: TWebBrowser;
begin
TabSheet:=TAdvTabSheet.Create(Self);
TabSheet.AdvPageControl:=PageWindows;
WB:=TWebBrowser.Create(Self);
with WB do begin
Align:=alClient;
Navigate('file:///C:/untitled.html', Flags, Flags, Flags, Flags);
end;
with TabSheet do begin
InsertControl(WB);
Caption:='123';
ShowClose:=True;
OnCanClose:=CloseSheet;
end;
inc(i);
end;
ну и соответственно обращение к тому браузеру который активен
procedure TMainForm.Button1Click(Sender: TObject);
var
Flags: OLEVariant;
TS: TAdvTabSheet;
begin
TS:=PageWindows.ActivePage;
(TS.Controls[0] as TWebBrowser).Navigate('file:///C:/file.htm', Flags, Flags, Flags, Flags);
end;
у меня на табе только один контрол поэтому нет перебора и проверки компонентов