如何使DBGrid可以使用MouseWheel? |
答題得分者是:harpist
|
irvinehing
初階會員 發表:77 回覆:79 積分:31 註冊:2003-11-12 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
首先你必須要先抓到 MouseWheel
先在你的Form Class 裡面宣告如下 TWndMethod oldDBGridProc; //儲存原始訊息處理函式 void __fastcall DBGridWndProc(Messages::TMessage &Message); //攔截訊息函式 然後可以在 FormCreate 裡面去換掉原來的訊息處理函式 oldDBGridProc = DBGrid1->WindowProc; DBGrid1->WindowProc = DBGridWndProc; 再來實作你的的訊息處理函式操作你的 DataSet void __fastcall TForm::DBGridWndProc(Messages::TMessage &Message) { short int Delta; if ( Message.Msg == WM_MOUSEWHEEL ) { Delta = Message.WParamHi; if ( Delta < 0 ) ADOQuery1->Next(); if ( Delta > 0 ) ADOQuery1->Prior(); } else { oldDBGridProc(Message); //記得要送回給原來的訊息處理函式 } } ===================引 用 文 章=================== 請問如何使DBGrid可以使用MouseWheel? 當滾輪轉動時,紀錄也同時移動。 我知道站上有很多Delphi的例子,但是沒有BCB的,所以請求給予一各BCB的例子。 謝謝!
------
~§~迷時師渡,悟了自渡~§~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |