![]() |
|
|
#16
|
||||
|
||||
|
Да это да, но можно например использовать движок WebKit (его использует гугл хром например), и страницы открываться будут еще быстрее. А на счет компонент - они во первых бесплатные, во вторых много функций, вот и все...
|
|
#17
|
|||
|
|||
|
Код:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
tss: TTabSheet;//вкладка
begin
if Twebbrowser(Sender).ReadyState <> READYSTATE_COMPLETE then
begin
ppDisp := nil;
Cancel := True;
end else
begin
tss := CreateTabBrowser('about:blank', 'Новая вкладка');//создаем вкладку с пустым адресом
WaitForBrowser(Twebbrowser(tss.Controls[0]));//ожидаем завершения работы Twebbrowser
ppdisp := (Twebbrowser(tss.Controls[0])).Application;//передаем фокус активному веббровсеру
WaitForBrowser(Twebbrowser(tss.Controls[0]));//ожидаем завершение работы веббровсера(активного разумется)
end;
end;Последний раз редактировалось Admin, 09.10.2010 в 19:18. |
|
#18
|
||||
|
||||
|
Правильно ругается
![]() Код:
function CreateNewTabBrowser(Url: string): TTabSheet; У него всего 1 параметр, поэтому надо писать: Код:
CreateTabBrowser('about:blank'); |
|
#19
|
|||
|
|||
|
не помогает, undeclared identifier "CreateTabBrowser" такая ошибка то
|
|
#20
|
||||
|
||||
|
Ну понимаешь, я не телепат, но такая ошибка из-за того, что ты не обьъявил это функцию, объяви ее в баблике:
Код:
type
TForm1 = class(TForm)
PageControl1: TPageControl;
...
private
public
function CreateNewTabBrowser(Url: string): TTabSheet;
end;
...
function TForm1.CreateNewTabBrowser(Url: string): TTabSheet;
begin
NewTab := TTabSheet.Create(PageControl1);
with NewTab do
begin
PageControl := PageControl1;
Parent := PageControl1;
PageIndex := PageControl1.ActivePageIndex;
end;
DesignTimeWB := TEmbeddedWB.Create(NewTab);
TControl(DesignTimeWB).Parent := NewTab;
with DesignTimeWB do
begin
EnableMessageHandler := True;
LoadSettings;
Align := alClient;
OnStatusTextChange := NewWebStatusTextChange;
OnNewWindow2 := NewWindowEvent;
OnDownloadComplete := DownloadCompleteEvent;
if Trim(URL) <> '' then
DesignTimeWB.NavigateWait(URL);
end;
PageControl1.ActivePage := NewTab;
Result := NewTab;
end; |
|
#21
|
||||
|
||||
|
Adrenalin666: 5-дневный бан за неоднократное несоблюдение правил форума, п.2.8...
|
|
#22
|
||||
|
||||
|
Код:
private
public
function CreateNewTabBrowser(Url: string): TTabSheet;
end;
...
function TForm1.CreateNewTabBrowser(Url: string): TTabSheet;
begin
NewTab := TTabSheet.Create(PageControl1);
with NewTab do
begin
PageControl := PageControl1;
Parent := PageControl1;
PageIndex := PageControl1.ActivePageIndex;
end;
DesignTimeWB := TEmbeddedWB.Create(NewTab);
TControl(DesignTimeWB).Parent := NewTab;
with DesignTimeWB do
begin
EnableMessageHandler := True;
LoadSettings;
Align := alClient;
OnStatusTextChange := NewWebStatusTextChange;
OnNewWindow2 := NewWindowEvent;
OnDownloadComplete := DownloadCompleteEvent;
if Trim(URL) <> '' then
DesignTimeWB.NavigateWait(URL);
end;
PageControl1.ActivePage := NewTab;
Result := NewTab;
end;
|
|
#23
|
||||
|
||||
объявил вот выдает ошибку |
|
#24
|
||||
|
||||
|
Ну вы даете, не понимая что вам пишет Дельфи, как вы собираетесь дальше писать программы? Пишет он, что вы описали вашу функцию, а реализации ее не наблюдается. Правой мышой на классе и выбрать Complete class at cursor. Дельфи добавит пустую реализацию вашей функции.
|
|
#25
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, {$IFDEF DELPHI6UP}Variants, {$ENDIF}AppEvnts,
Dialogs, ExtDlgs, Graphics, Menus, ExtCtrls, ImgList, Controls, StdCtrls, ComCtrls,
OleCtrls, SHDocVw, ToolWin, Buttons, WBFuncs, Classes, Forms,
HistoryMenu, FavMenu, ActiveX, IEAddress, ShellAPI, MSHTML,
UrlMon, CommCtrl, WinInet,
ComObj;
type
TForm1 = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
OpenDialog1: TOpenDialog;
IEAddress1: TIEAddress;
MainMenu1: TMainMenu;
File1: TMenuItem;
Exit1: TMenuItem;
N2: TMenuItem;
PrintSetup1: TMenuItem;
Print1: TMenuItem;
N3: TMenuItem;
SaveAs1: TMenuItem;
Save1: TMenuItem;
Open1: TMenuItem;
New1: TMenuItem;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
WebBrowser1: TWebBrowser;
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure IEAddress1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
private
public
function CreateTabBrowser(sURL, sCaption: string): TTabSheet;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
WebBrowser1.Navigate(OpenDialog1.FileName);
IEAddress1.Text := OpenDialog1.FileName;
end;
end;
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
WebBrowser1.GoBack;
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
WebBrowser1.GoForward;
end;
procedure TForm1.ToolButton5Click(Sender: TObject);
begin
WebBrowser1.Stop;
end;
procedure TForm1.ToolButton4Click(Sender: TObject);
begin
WebBrowser1.Refresh;
end;
procedure TForm1.ToolButton6Click(Sender: TObject);
var
PostData, Headers: OLEvariant;
begin
WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, PostData,
Headers);
end;
procedure TForm1.IEAddress1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then
WebBrowser1.Navigate(IEAddress1.Text);
end;
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
tss: TTabSheet;//вкладка
begin
if Twebbrowser(Sender).ReadyState <> READYSTATE_COMPLETE then
begin
ppDisp := nil;
Cancel := True;
end else
begin
tss := CreateTabBrowser('about:blank', 'Новая вкладка');//создаем вкладку с пустым адресом
WaitForBrowser(Twebbrowser(tss.Controls[0]));//ожидаем завершения работы Twebbrowser
ppdisp := (Twebbrowser(tss.Controls[0])).Application;//передаем фокус активному веббровсеру
WaitForBrowser(Twebbrowser(tss.Controls[0]));//ожидаем завершение работы веббровсера(активного разумется)
end;
end;
function TForm1.CreateTabBrowser(sURL, sCaption: string): TTabSheet;
begin
end;
end.
|
|
#26
|
||||
|
||||
|
де компоненти можна скачати
|