Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 452

•  TDictionary Custom Sort  6 488

•  Fast Watermark Sources  6 283

•  3D Designer  9 226

•  Sik Screen Capture  6 616

•  Patch Maker  6 996

•  Айболит (remote control)  7 002

•  ListBox Drag & Drop  5 870

•  Доска для игры Реверси  97 077

•  Графические эффекты  7 201

•  Рисование по маске  6 503

•  Перетаскивание изображений  5 369

•  Canvas Drawing  5 743

•  Рисование Луны  5 455

•  Поворот изображения  4 983

•  Рисование стержней  3 536

•  Paint on Shape  2 805

•  Генератор кроссвордов  3 674

•  Головоломка Paletto  2 959

•  Теорема Монжа об окружностях  3 763

•  Пазл Numbrix  2 482

•  Заборы и коммивояжеры  3 166

•  Игра HIP  2 134

•  Игра Go (Го)  2 068

•  Симулятор лифта  2 440

•  Программа укладки плитки  2 114

•  Генератор лабиринта  2 585

•  Проверка числового ввода  2 264

•  HEX View  2 593

•  Физический маятник  2 202

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Открытие локальных файлов в TWebBrowser и прямое открытие ссылок



Оформил: DeeCo

{ 
  This example shows how to open local files in a TWebbrowser 
  and start links directly without showing a Dialog. 
}

 { 
  Dieses Beispiel zeigt, wie man lokale Dateien in einem TWebbrowser 
  цffnen kann und wie man lokale Links direct ausfьhren kann ohne 
  dass ein Dialog erscheint. 
}


 unit Unit1;

 interface

 uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   StdCtrls, OleCtrls, SHDocVw;

 type
   TForm1 = class(TForm)
     WebBrowser1: TWebBrowser;
     Button1: TButton;
     procedure Button1Click(Sender: TObject);
     procedure WebBrowser1BeforeNavigate2(Sender: TObject;
       const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
       Headers: OleVariant; var Cancel: WordBool);
   private
     FIsStartPage: Boolean;
     { Private declarations }
   public
     { Public declarations }
   end;

 var
   Form1: TForm1;

 implementation

 {$R *.DFM}

 uses
   ShellApi;


 // Open a local page: 
procedure TForm1.Button1Click(Sender: TObject);
 const
  LOCAL_PAGE ='C:/StartPage.htm'
 begin
   FIsStartPage := True;
   Webbrowser1.Navigate('file:///' + LOCAL_PAGE);
   FIsStartPage := False;
 end;


 procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
   const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
   Headers: OleVariant; var Cancel: WordBool);
 var
   newURL: string;
 begin
   newURL := URL;
   // For local links, don't show a dialog but open the file directly 
  if (not FIsStartPage) and FileExists(newURL) then
   begin
     Cancel := True;
     ShellExecute(Application.Handle, 'open', PChar(newURL), nil, nil, SW_NORMAL);
   end;
 end;