麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

DBGrid中用光標鍵控制Cell

2019-11-18 18:03:23
字體:
來源:轉載
供稿:網友
 

{////////////////////////
//                     //
//     Grids549        //
//                     //
//   14:33 2005-2-17   //
//                     //
}////////////////////////
unit Grids549;

interface

uses
  DBGrids, Classes, Windows;

type
  TDBGrid549 = class(TDBGrid)
  public
    PRoperty InPlaceEditor;
  end ;
 
procedure CursorCtrl(Sender: TObject; var Key: Word; Shift: TShiftState); 

implementation

{ TDBGrid549 }

procedure CursorCtrl(Sender: TObject; var Key: Word;
  Shift: TShiftState);
{
Warn: This procedure may change VK_RIGHT and VK_LEFT to 0

Call this in DBGridKeyDown procedrue
eg:
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Grids549.CursorCtrl(Sender, Key, Shift);
end;
}
var
  GridEditorMode: Boolean;
begin
  if Shift <> [] then Exit;
  if (Key <> VK_RIGHT) and (Key <> VK_LEFT) then
    Exit;
  GridEditorMode := TDBGrid(Sender).EditorMode;
  if not GridEditorMode then
    TDBGrid(Sender).EditorMode := True;
 
  if Key = VK_RIGHT then begin
    if GridEditorMode and (TDBGrid549(Sender).InplaceEditor.SelStart <>
      Length(TDBGrid549(Sender).InplaceEditor.Text)) then begin
      Exit;
    end;
    //Last field, move to next record     
    if TDBGrid(Sender).SelectedIndex =
      TDBGrid(Sender).FieldCount - 1 then begin
      TDBGrid(Sender).DataSource.DataSet.Next;
      TDBGrid(Sender).SelectedIndex := 0;
    end
    else
    //Focus on next field
    if TDBGrid(Sender).EditorMode then begin
      TDBGrid(Sender).SelectedIndex := TDBGrid(Sender).SelectedIndex + 1;
    end;
  end
  else
  if Key = VK_LEFT then begin
    if GridEditorMode and(TDBGrid549(Sender).InplaceEditor.SelStart <> 0) then
      Exit;
    //First field, move to prior record
    if TDBGrid(Sender).SelectedIndex = 0 then begin
        TDBGrid(Sender).DataSource.DataSet.Prior;
        TDBGrid(Sender).SelectedIndex := TDBGrid(Sender).FieldCount - 1;
    end
    else
    //Focus on prior field
    if TDBGrid(Sender).EditorMode then begin
      TDBGrid(Sender).SelectedIndex := TDBGrid(Sender).SelectedIndex - 1;
    end;
  end;
  Key := 0;
end;

end.


上一篇:檢查RS232(串口)是否接有設備

下一篇:一個很實用的Ehlib排序函數,適合ADO

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 99影视在线视频免费观看 | 日韩黄色一级视频 | 欧美中文字幕一区二区三区亚洲 | 亚洲一区二区三区在线免费观看 | 免费a级黄色片 | 亚洲第一视频在线 | 日本在线不卡一区二区 | 一级一级一级毛片 | 国产精品成人亚洲一区二区 | 日韩黄色成人 | 欧美成人国产va精品日本一级 | a黄毛片| 91九色论坛 | 成人精品aaaa网站 | 日韩精品中文字幕一区二区 | 国产精品久久久久久久久久大牛 | 日本一道aⅴ不卡免费播放 视屏一区 | 国产羞羞视频 | 免费国产自久久久久三四区久久 | 成人爱爱电影 | 国产麻豆交换夫妇 | 亚洲成人免费视频在线 | 欧美一级片免费在线观看 | 91精品久久久久久久久网影视 | 日韩午夜片 | 中国fx性欧美xxxx | 久久久三区 | 日本一区二区在线 | 一级做受毛片免费大片 | 曰批全过程40分钟免费视频多人 | 一区二区三区四区视频在线观看 | 主人在调教室性调教女仆游戏 | 国产超碰人人爽人人做人人爱 | 成人毛片免费看 | 亚洲精中文字幕二区三区 | 久久精品视频黄色 | 91精品国产99久久久久久 | 欧美a在线看 | 国产精品一区二区三区99 | 国产成人高清在线观看 | 7m视频成人精品分类 |