DBGrid VS 滾輪的滑鼠 |
答題得分者是:jcjroc
|
salo0610
高階會員 ![]() ![]() ![]() ![]() 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
|
salo0610
高階會員 ![]() ![]() ![]() ![]() 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
|
jcjroc
高階會員 ![]() ![]() ![]() ![]() 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
|
salo0610
高階會員 ![]() ![]() ![]() ![]() 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
我看 Delphi 的寫法不是以下的寫法~~~
那位大大可以幫幫我啊??
謝謝!!! 為什麼要 宣告 TWndMethod oldDBGridProc; oldDBGridProc = dgView->WindowProc;
oldDBGridProc( Message ); 沒有的話,會出錯???
"A Call to an OS Function Failed"
//---------------------------------------------------------------- private: TWndMethod oldDBGridProc; void __fastcall DBGridWndProc(Messages::TMessage &Message); //---------------------------------------------------------------- oldDBGridProc = dgView->WindowProc; dgView->WindowProc = DBGridWndProc; //---------------------------------------------------------------- void __fastcall DBGridWndProc(Messages::TMessage &Message) { short int Delta; try { if ( Message.Msg == WM_MOUSEWHEEL && adoDB->Active == true ) { Delta = Message.WParamHi; if ( Delta<0 ){ adoDB->Next(); } if ( Delta>0 ){ adoDB->Prior(); } } else oldDBGridProc( Message ); } catch(...) { } } |
jcjroc
高階會員 ![]() ![]() ![]() ![]() 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
|
yachu721
初階會員 ![]() ![]() 發表:51 回覆:98 積分:44 註冊:2003-07-13 發送簡訊給我 |
參考 http://yao67.pixnet.net/blog/post/36446236
BCB-DBGrid 滑鼠滾輪 void __fastcall TForm1::DBGridWndProc(TMessage &Message) { short int Delta; if(Message.Msg == WM_MOUSEWHEEL) // 判斷訊息是否為 [滑鼠滾輪] { Delta = Message.WParamHi; if (Delta < 0) DataSource1->DataSet->Next(); // 往上滾動時跳到上一筆資料 if (Delta > 0) DataSource1->DataSet->Prior(); // 往下滾動時跳到下一筆資料 }else{ OldDBGridProc(Message); //記得要送回給原來的訊息處理函式 } } void __fastcall TForm1::FormCreate(TObject *Sender) OldDBGridProc = DBGrid1->WindowProc; //儲存原始訊息處理函式 DBGrid1->WindowProc = DBGridWndProc; //賦予新處理 標頭檔 private: TWndMethod OldDBGridProc; //儲存原始訊息處理函式 void __fastcall DBGridWndProc(TMessage &Message);
編輯記錄
yachu721 重新編輯於 2012-05-21 11:12:50, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |