StringGridMouseWheelUp如何取Row?? |
尚未結案
|
yoyo12345
一般會員 發表:33 回覆:77 積分:22 註冊:2003-03-19 發送簡訊給我 |
|
lo
初階會員 發表:8 回覆:69 積分:25 註冊:2003-01-12 發送簡訊給我 |
|
yoyo12345
一般會員 發表:33 回覆:77 積分:22 註冊:2003-03-19 發送簡訊給我 |
|
lo
初階會員 發表:8 回覆:69 積分:25 註冊:2003-01-12 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
如果您有Trace 源碼,就應知道為什麼了? MousePos 並未有參考的數據。
直接用 Col,Row 就可以了。(無須轉換 MouseToCell)
function TCustomGrid.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; begin Result := inherited DoMouseWheelDown(Shift, MousePos); if not Result then begin if Row < RowCount - 1 then Row := Row 1; Result := True; end; end; function TCustomGrid.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; begin Result := inherited DoMouseWheelUp(Shift, MousePos); if not Result then begin if Row > FixedRows then Row := Row - 1; Result := True; end; end; |
yoyo12345
一般會員 發表:33 回覆:77 積分:22 註冊:2003-03-19 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
引言: 觸發OnMouseWheelUp,滑鼠滾輪往上就行了。 另 我曾嘗試用TStringGRid(sender).Row取值,不過每次固定的row取出來的值並不一樣。是不會這樣的,主要會有這樣的現象。 是StringGrid 先觸發 OnMouseWheelUp 事件。 而在事件後修改 ROW 值。 故取得的值,只會延後或推前。 事實上,您可以依據 OnMouseWheelUP 的 AROW := ROW -1 在 OnMouseWheelDown 的 AROW := ROW 1; 這樣 AROW 就是正確的值了。當然也需要判斷AROW的合理範圍。 |
yoyo12345
一般會員 發表:33 回覆:77 積分:22 註冊:2003-03-19 發送簡訊給我 |
不知道是我的問題還是??
總覺得 它每次取出來的值 並不一定
當我停在row15時 有時取出來的值是14 有時是15
若固定加一減一,值還是不一定。
附上我的code(我放了一個StringGrid及ListBox) procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
begin
for i:=1 to AdvStringGrid1.RowCount-1 do
AdvStringGrid1.Cells[1,i]:=inttostr(i);
end; procedure TForm1.AdvStringGrid1MouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
listbox1.items.Add('UP' Format('=%3.3d',[TAdvStringGrid(Sender).Row-1]));
end; procedure TForm1.AdvStringGrid1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
listbox1.items.Add('Down' Format('=%3.3d',[TAdvStringGrid(Sender).Row 1]));
end;
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
yoyo12345
一般會員 發表:33 回覆:77 積分:22 註冊:2003-03-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |