Muchas gracias.
Funciona de maravilla.
Vamos un paso más allá.
Si ahora lo quiero hacer sobre las casillas de un TDBGrid???
He comprobado que.... es así :
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;
type
TNSDBdbgrid = class(tdbgrid)
private
procedure WMGETDLGCODE(var Msg: TMessage); message WM_GETDLGCODE;
end;
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
Table1COD_ART: TStringField;
Table1DES_ART: TStringField;
procedure FormActivate(Sender: TObject);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TNSDBdbgrid.WMGETDLGCODE(var Msg: TMessage);
begin
inherited;
Msg.Result:= Msg.Result or DLGC_WANTTAB;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Table1.Open;
end;
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_TAB then ShowMessage('VK_TAB');
end;
end.
Gracias.