2013-04-27 65 views
0

使用Delphi 7,與加載HTML文件的TWebBrowser組件...如何攔截超鏈接點擊,以便我可以決定是否做一些事情,而不是讓TWebBrowser獲取鏈接?攔截超鏈接點擊使用Delphi TWebBrowser

我曾嘗試以下,但是當我點擊超鏈接事件被觸發從未:

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; 
    const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, 
    Headers: OleVariant; var Cancel: WordBool); 
begin 
    Cancel := True; 
    ShowMessage(URL); 
    WebBrowser1.Stop; 
end; 

回答

0

我們幾乎做了你上面顯示確切的代碼。

您是否在組件中連接了事件處理程序?

我們不做.Stop。我不確定那是做什麼或爲什麼你需要做。 Cancel:= TRUE應該足以滿足我們在這裏所做的。

+0

是的,我連接了BeforeNavigate2的事件處理程序。 – user1527613 2013-04-27 03:40:20

+1

我找到了罪魁禍首。我正在使用的皮膚庫(AlphaSkins)阻止事件觸發。如果我禁用皮膚管理器,則會觸發BeforeNavigate2事件。當我啓用皮膚管理器時,事件從不觸發。 – user1527613 2013-04-27 03:55:19