線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3007
推到 Plurk!
推到 Facebook!

使用TCppWebBrowser做的瀏覽器,如何能在開網頁時自動下捲幾行?

答題得分者是:RedSnow
mrcsh
一般會員


發表:5
回覆:0
積分:1
註冊:2003-11-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-12 08:15:56 IP:210.66.xxx.xxx 未訂閱
各位大哥、大姐: 想請問大家一個問題,我使用TCppWebBrowser做了一個簡易的瀏覽器,我希望能在開網頁時自動下捲幾行到真正的內容位置(因為前面是廣告),我嘗試過模擬鍵盤向下按的動作,和滑鼠滾輪的動作,結果都失敗。不知道有什麼辦法可以辦到?請提供意見,謝謝。 世事如棋,乾坤莫測,笑盡英雄
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-14 10:41:08 IP:59.115.xxx.xxx 未訂閱
mrcsh 您好:    在網頁上的 "行" 數不是一個 "定數",因為網頁內的字型是可以有變化的,因此在網頁上都是以 "點" (Pixel) 為單位,以下的範例可以在網頁載入後,將頁面向下捲動到指定的點數位置:
void __fastcall TForm1::WebBrowser1DocumentComplete(TObject *Sender,
      LPDISPATCH pDisp, TVariant *URL)
{
    Variant doc = WebBrowser1->Document;        if (!VarIsEmpty(doc)) {
        Variant body = doc.OlePropertyGet("body");
        if (!VarIsEmpty(body)) {
            body.OlePropertySet("scrollTop", "150");  // 向下捲動的點數
            VarClear(body);
        }
        VarClear(doc);
    }
}
上述範例中以紅色標示的數字就是欲向下捲動的點數,請您測試後再自行調整該數字為所需的捲動點數即可。 7 天天敲鍵盤 v 時時按滑鼠 8
yachu721
初階會員


發表:51
回覆:98
積分:44
註冊:2003-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-10-20 16:37:56 IP:218.163.xxx.xxx 訂閱
這樣也可~

void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
LPDISPATCH pDisp, Variant *URL)
{
CppWebBrowser1->OleObject.OlePropertyGet("Document").OlePropertyGet("DocumentElement").OlePropertySet("scrollTop", "320"); // 向下捲動的點數
}
系統時間:2024-04-18 9:00:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!