線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1645
推到 Plurk!
推到 Facebook!

在DBGrid中如何確定游標位置

尚未結案
chlo
一般會員


發表:7
回覆:13
積分:4
註冊:2003-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-18 13:58:08 IP:211.76.xxx.xxx 未訂閱
請教各位大哥 在DBGrid中如何確定游標位置 在進入一個DBGrid文本框時,裏面已經有了一或幾個字元,如何使游標正好位於已有字元的後面,這樣就可以結合以有內容直接輸入其他東西,而不用移動游標.
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-19 09:21:30 IP:210.65.xxx.xxx 未訂閱
Hi: 你可以試試 OnDrawColumnCell 中加入以下程式碼
procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
    IF (gdSelected IN State) OR (gdFocused IN State) THEN
        TDBGrid(Sender).EditorMode := True;
end;
或是在 OnCellClick 事件中
procedure TForm1.DBGrid2CellClick(Column: TColumn);
begin
    TDBGrid(Column.Grid).EditorMode := True;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
chlo
一般會員


發表:7
回覆:13
積分:4
註冊:2003-04-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-19 21:12:22 IP:211.76.xxx.xxx 未訂閱
Fishman感謝您: 不過我試過之後,還是不行吔,不知是那邊出問題? 我的意思是要讓 DBGrid1.SelectedField 的反白消失, 指標停留在最後一個字元,直接進入編輯狀態, 在 DBEdit 這様作可以完成,但在 DBGrid 我不知該如何作: procedure TFrm_Main.DBEdit1Enter(Sender: TObject); begin if ( ActiveControl is TDBEdit ) then TDBEdit(Sender).SelStart:=TDBEdit(Sender).GetTextLen; end; 請前輩再指點一下,謝謝!!
chlo
一般會員


發表:7
回覆:13
積分:4
註冊:2003-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-19 21:34:36 IP:211.76.xxx.xxx 未訂閱
Fishman感謝您: 我將程式改成這樣終於可以了,謝謝您! Procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin TDBGrid(Sender).EditorMode := True; end;
系統時間:2024-05-20 12:59:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!