DBGrid的一個問題! |
答題得分者是:Rain
|
ccsam
一般會員 發表:6 回覆:8 積分:7 註冊:2003-07-11 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
DBGrid支援鍵盤的按Shift多選(Shift+向上向下鍵),但不支援滑鼠,可重載DBGrid的MouseDown過程加上這項功能,參照它原來的KeyDown過程,大致實現(MultiSelect項還是要設的):
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; var iRow: Integer; if (ssShift in Shift) and (dgMultiSelect in Options) then begin iRow := MouseCoord(X,Y).Y;//根據滑鼠位置取得點擊行 if iRow > Row then begin //這邊加一個迴圈,從Row到iRow DataSet.MoveBy(1);//移到下一條記錄 SelectedRows.CurrentRowSelected := True;//選擇當前記錄 end else begin DataSet.MoveBy(-1);//移到上一條記錄 SelectedRows.CurrentRowSelected := True; end; end;還是有點麻煩吧,所以我自己比較傾向將就著用鍵盤了 發表人 - Rain 於 2003/08/04 18:06:59 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |