Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание в run-time TWebBrowser [D5, Win95/98, Win2k]


3asys ©   (2002-07-07 22:10:00) 

Добрый день,
как в run-time создать(и показать) TWebBrowser?
Обычным образом (по аналогии с TButton -)) создать его не удается.

С Уважением, 3asys


Skier   (2002-07-09 15:58:00) [1]

>Smok_er
Нет не то ! :)

Вот так :

Создание


procedure TfrMain.Button1Click(Sender: TObject);
var WB: TWebBrowser;
begin
WB:= TWebBrowser.Create(Self);
TControl(WB).Name:= "WB"; //имя WebBrowser-а (лучше проверить
//на уникальность)
TControl(WB).Parent:= PageControl1.ActivePage;
WB.Align:= alClient;
end;


Поиск :


procedure TfrMain.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
with TWebBrowser(Self.FindComponent("WB")) do
Navigate(Edit1.Text);
end;




Skier   (2002-07-09 15:48:00) [2]

>Smok_er
Для того чтобы твой код искал WebBrowser тебе нужно
задавать его имя при создании

Т.е. (код int64) :



procedure TForm1.Button1Click(Sender: TObject);
var WB: TWebBrowser;
begin
WB:= TWebBrowser.Create(nil);
TControl(WB).Name:= "WB"; //имя WebBrowser-а (лучше проверить
//на уникальность)
TControl(WB).Parent:= PageControl1.ActivePage;
WB.Align:= alClient;
end;




Smok_er   (2002-07-09 15:30:00) [3]

Мастера, все классно, но сейчас столкнулся с необходимостью определения, на какой именно странице PageControl"a находится браузер для выполнения над ним каких-либо действий.
Приведу пример нерабочего кода, может кто-то поправит:


procedure TfrMain.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
with TWebBrowser(PageControl1.ActivePage.FindComponent("WB")) do
Navigate(Edit1.Text);
end;


Smok_er   (2002-07-08 18:29:00) [4]

Огромное спасибо!
Работает!


Skier   (2002-07-08 18:13:00) [5]

>int64
Извини, моя ошибка, вопрос снят.


Skier   (2002-07-08 18:09:00) [6]

>int64
А зачем этот кастинг TControl(WB).Parent:= ... ???


int64   (2002-07-08 18:08:00) [7]

procedure TForm1.Button1Click(Sender: TObject);
var WB: TWebBrowser;
begin
WB:= TWebBrowser.Create(nil);
TControl(WB).Parent:= PageControl1.ActivePage;
WB.Align:= alClient;
end;


Smok_er   (2002-07-08 15:03:00) [8]

Возвращаясь к вопросу...
Может кто-нибудт знает, как ее создать на активной странице PageControl"a и присвоить ей свойство Align alClient?
Первое вроде получается, а вот второе - никак :(


3asys   (2002-07-08 10:15:00) [9]

Спасибо огромное.

С Уважением, 3asys


Случайный прохожий   (2002-07-08 00:11:00) [10]


> Обычным образом (по аналогии с TButton -)) создать его не
> удается.

Это еще почему?

procedure TForm2.Button2Click(Sender: TObject);
begin
if WebBrowser = nil then
begin
WebBrowser:=TWebBrowser.Create(self);
WebBrowser.ParentWindow:=self.Handle;
WebBrowser.SetBounds(50,50,200,150);
end;
WebBrowser.Navigate(" http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1026065427&n=0");
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо