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

請問..增加事件的問題....

答題得分者是:dllee
taylor2727
一般會員


發表:5
回覆:5
積分:2
註冊:2009-12-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-13 20:27:26 IP:140.131.xxx.xxx 訂閱
各位大大 :
請問一下...我現在在 VCL(CppWebBrowser) 元件中加入了自己定義的事件(WindowScroll)....
但是我該如何在(DocumentComplete)呼叫這事件呢 ?...


這個CppWebBrowser1WindowScroll 方法 , 是拉動捲軸時 , 要隨時記錄目前座標....

[code cpp]
void __fastcall TwebrowserMain::CppWebBrowser1WindowScroll(Messages::TMessage &Message)
{
if (Message.Msg == WM_MOUSEWHEEL)
{
IHTMLDocument2 *pDoc;
IHTMLElement *pBody;
IHTMLElement2 *pElement;
. . . . .
}
}

[/code]

那請問我在CppWebBrowser1DocumentComplete這間要呼叫WindowScroll 應該要怎摸寫呢 ??
[code cpp]
void __fastcall TwebrowserMain::CppWebBrowser1DocumentComplete(TObject *Sender,
LPDISPATCH pDisp, Variant *URL)
{
// --原本寫 MouseWheelHandler(CppWebBrowser1WindowScroll) ; //結果一直是錯誤的.......可以幫幫我嗎...

}
{
[/code]

謝謝各位大大......拜託..很急...
謝謝

dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-19 10:39:42 IP:114.32.xxx.xxx 訂閱
原本是在 WM_MOUSEWHEEL 事件發生時才會觸發事件,
現在若想直接叫用事件處理函式, 只要提供相同的介面即可。

也就是叫用:
CppWebBrowser1WindowScroll( ) 這個函式。
此函式要有個 Messages::TMessage 的引數,那就宣告一個給它,
並指定其
Message.Msg = WM_MOUSEWHEEL; 這樣才能在
你第一個 if 判斷式中進入您想要處理的部分。


當然,除了給定
Message.Msg = WM_MOUSEWHEEL; 外,
WPARAM 及 LPARAM 也要給對應的數值,可由你自己的程式碼反推
你應該要給的值,或是查 MSDN ,看看此訊息的 PARAM 要給什麼。

http://msdn.microsoft.com/en-us/library/ms645617(VS.85).aspx


------
http://www.ViewMove.com
系統時間:2024-04-17 6:19:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!