我想让他在一个字段里的时候,按左右键就是调整这个字段里面的值,如右键加1,左键减1,而不是移到下一个字段,请问该怎么做?

解决方案 »

  1.   

    procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
          if Button=mbLeft then
          ...........................
          if Button=mbRight then
          ..............................
    end;
      

  2.   

    var
        strFieldName:string;procedure TForm1.Button1Click(Sender: TObject);
    begin
        Table1.Open;
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
        Table1.Close;
    end;procedure TForm1.DBGrid1ColEnter(Sender: TObject);
    begin
        strFieldName:=DBGrid1.SelectedField.FieldName;
    end;procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
        case Key of
            VK_LEFT:
            begin
                Table1.Edit;
                Table1.FieldByName(strFieldName).AsInteger:=Table1.FieldByName(strFieldName).AsInteger-1;
                Table1.Post;
                Key:=0;
            end;
            VK_RIGHT:
            begin
                Table1.Edit;
                Table1.FieldByName(strFieldName).AsInteger:=Table1.FieldByName(strFieldName).AsInteger+1;
                Table1.Post;
                Key:=0;
            end;
        end;
    end;