全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1304
推到 Plurk!
推到 Facebook!

請問關於CppWebBrowser的三個問題

尚未結案
MyYunSong
一般會員


發表:10
回覆:18
積分:5
註冊:2004-08-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-23 16:30:47 IP:61.235.xxx.xxx 未訂閱
請問在網頁中點擊一個鏈接時或按下一個按鈕時,要怎樣得到這個事件? 請問CppWebBrowser如何設置proxy?CppWebBrowser默認是用IE的proxy設置。請問能否爲自己的CppWebBrowser設置proxy,而不使用IE的設置?要如何做? 請問CppWebBrowser能不能取得整個網頁下載完畢的事件?我需要在下載完畢時添加代碼。而DownloadComplete或NavigateComplete2這兩個事件在一些網頁中會多次發生,所以不能使用。 謝謝 發表人 - MyYunSong 於 2004/08/23 17:01:03
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-23 17:16:03 IP:163.28.xxx.xxx 未訂閱
Hello MyYunSong,    1.請拉兩個按鈕,使用GoBack(),GoForward()來做到上一頁及下一頁. 或是使用GoHome()回到首頁.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  CppWebBrowser1->GoBack(); //上一頁
}    void __fastcall TForm1::Button2Click(TObject *Sender)
{
  CppWebBrowser1->GoForward();  //下一頁
}
2.CppWebBrowser,據我所知,沒辦法設置proxy 3.試試看CppWebBrowser的DocumentComplete這個event.
void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL)
{
  ShowMessage("Completed");
  //Do something...
}
發表人 - nlj859 於 2004/08/23 17:20:26
MyYunSong
一般會員


發表:10
回覆:18
積分:5
註冊:2004-08-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-23 17:59:24 IP:61.235.xxx.xxx 未訂閱
1.請拉兩個按鈕,使用GoBack(),GoForward()來做到上一頁及下一頁. 或是使用GoHome()回到首頁. ------------------------------------------------------------------- 你誤會我的意思了,我是想得到當點擊網頁上的鏈接或按鈕時的事件。比如點擊“存入新回應”這個按鈕的時候,程式可以知道。 ********************************************************** 3.試試看CppWebBrowser的DocumentComplete這個event. void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender, LPDISPATCH pDisp, Variant *URL) { ShowMessage("Completed"); //Do something... } --------------------------------------------------- 因爲這件事件在load一次網頁的時候會發生多次,我不能確定哪次是全部完成的
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-23 17:59:51 IP:219.84.xxx.xxx 未訂閱
關於第一個問題: 請問在網頁中點擊一個鏈接時或按下一個按鈕時,要怎樣得到這個事件? 請用BeforeNavigate2這個Event
MyYunSong
一般會員


發表:10
回覆:18
積分:5
註冊:2004-08-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-23 18:07:09 IP:61.235.xxx.xxx 未訂閱
引言: 關於第一個問題: 請問在網頁中點擊一個鏈接時或按下一個按鈕時,要怎樣得到這個事件? 請用BeforeNavigate2這個Event
在load一些網頁時,這個BeforeNavigate2的Event可能會發生多次,而我的程式只可以執行一次。
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-23 18:16:08 IP:163.28.xxx.xxx 未訂閱
Hello MyYunSong, 第3個問題: 我使用DocumentComplete這個event時都只出現一次,它只會把目前網頁開啟完後顯示.不曉得你是怎麼判別你出現多次的? 第1個問題:如果你只是要確認"得到當點擊網頁上的鏈接或按鈕時的事件",我想同樣用DocumentComplete就可以了,每按下其中一個連結時,它開網頁完就會顯示.如果你是要"特定"找某個連結,那就要多加以判斷了,你必須要知道它所傳回的網址. 發表人 - nlj859 於 2004/08/23 18:23:10
MyYunSong
一般會員


發表:10
回覆:18
積分:5
註冊:2004-08-20

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-23 19:00:40 IP:61.235.xxx.xxx 未訂閱
引言: Hello MyYunSong, 第3個問題: 我使用DocumentComplete這個event時都只出現一次,它只會把目前網頁開啟完後顯示.不曉得你是怎麼判別你出現多次的? 第1個問題:如果你只是要確認"得到當點擊網頁上的鏈接或按鈕時的事件",我想同樣用DocumentComplete就可以了,每按下其中一個連結時,它開網頁完就會顯示.如果你是要"特定"找某個連結,那就要多加以判斷了,你必須要知道它所傳回的網址. 發表人 - nlj859 於 2004/08/23 18:23:10
你去www.microsoft.com試試,這個事件出現很多次啊
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-08-23 19:22:50 IP:163.28.xxx.xxx 未訂閱
Hello MyYunSong,    我只出現一次.
int i;
void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL)
{
i  ;
ShowMessage(i);
}    void __fastcall TForm1::FormCreate(TObject *Sender)
{
i=0;
CppWebBrowser1->Navigate((WideString)"http://www.microsoft.com");
}
MyYunSong
一般會員


發表:10
回覆:18
積分:5
註冊:2004-08-20

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-08-24 15:32:09 IP:61.235.xxx.xxx 未訂閱
引言: Hello MyYunSong, 我只出現一次.
int i;
void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL)
{
i  ;
ShowMessage(i);
}    void __fastcall TForm1::FormCreate(TObject *Sender)
{
i=0;
CppWebBrowser1->Navigate((WideString)"http://www.microsoft.com");
}
對不起,搞錯了,microsoft的網站是出現一次,你試試上這裏www.gznet.com,我這裏出現很多次
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-08-24 16:02:58 IP:163.28.xxx.xxx 未訂閱
Hello MyYunSong,    這個站的確比較奇怪. 不過我測試了一下,當它i=1時,網頁已全部load出來了,所以就抓第i=1時就可以了.
void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL)
{
i  ;
Label1->Caption=i;
if (i==1)
    //Do Something...
}
參考一下吧.
MyYunSong
一般會員


發表:10
回覆:18
積分:5
註冊:2004-08-20

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-08-24 16:08:13 IP:61.235.xxx.xxx 未訂閱
引言: Hello MyYunSong, 這個站的確比較奇怪. 不過我測試了一下,當它i=1時,網頁已全部load出來了,所以就抓第i=1時就可以了.
void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL)
{
i  ;
Label1->Caption=i;
if (i==1)
    //Do Something...
}
參考一下吧.
謝謝你的回答。確實有一些網站很奇怪,但也說明DocumentCompelete事件不止發生一次,可能有幾次DocumentBegin就有幾次Compelete吧
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-08-25 09:53:51 IP:219.130.xxx.xxx 未訂閱
MyYunSong:是否可以換另一種方式處理你的問題。
問題一及三
void __fastcall TForm1::WebBrowser1StatusTextChange(TObject *Sender,
      BSTR URL)
{
}
我的繁體WindowsXP(Win-2000也一樣)當網頁完全下載完畢URL會顯示完成,
不知簡體中文會如何?但一定會有一個訊息給你。
好!你放一個Label或StatusBar當你滑鼠(鼠標)移到網頁上任何可連結的地方
,你也會發現StatusTextChange會告訴你,只要不停記錄它當你按下時,
你自然可以比對而且得到這個事件。    請參考!
Andy Chang 發表人 - andychang1690 於 2004/08/25 09:55:11
------
Andy Chang
MyYunSong
一般會員


發表:10
回覆:18
積分:5
註冊:2004-08-20

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-08-25 13:06:14 IP:61.235.xxx.xxx 未訂閱
引言:
MyYunSong:是否可以換另一種方式處理你的問題。
問題一及三
void __fastcall TForm1::WebBrowser1StatusTextChange(TObject *Sender,
      BSTR URL)
{
}
我的繁體WindowsXP(Win-2000也一樣)當網頁完全下載完畢URL會顯示完成,
不知簡體中文會如何?但一定會有一個訊息給你。
好!你放一個Label或StatusBar當你滑鼠(鼠標)移到網頁上任何可連結的地方
,你也會發現StatusTextChange會告訴你,只要不停記錄它當你按下時,
你自然可以比對而且得到這個事件。    請參考!
Andy Chang 發表人 - andychang1690 於 2004/08/25 09:55:11
謝謝你的回答。
系統時間:2024-05-13 6:38:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!