Hola de nuevo Livey.
Te paso el código simple que realizé de prueba.
El Form tiene un PageControl con un TabSheet y dentro de él un StringGrid (grid1) y un Button.
En el Form puse el segundo StringGrid (grid2) y otro Button (Creo que así estaba dispuesto tu form).
Quizá te sirva para individualizar el problema.
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, ComCtrls;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
grid1: TStringGrid;
grid2: TStringGrid;
Button1: TButton;
Button2: TButton;
procedure grid1Click(Sender: TObject);
procedure grid1Exit(Sender: TObject);
procedure grid2Click(Sender: TObject);
procedure grid2Exit(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button1Exit(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button2Exit(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation {$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
grid1.OnClick:= grid1Click;
grid1.OnExit:= grid1Exit;
grid2.OnClick:= grid2Click;
grid2.OnExit:= grid2Exit;
Button1.OnClick:= Button1Click;
Button1.OnExit:= Button1Exit;
Button2.OnClick:= Button2Click;
Button2.OnExit:= Button2Exit;
end;
procedure TForm1.grid1Click(Sender: TObject);
begin
ShowMessage('grid1 OnClick');
end;
procedure TForm1.grid1Exit(Sender: TObject);
begin
ShowMessage('grid1 OnExit');
end;
procedure TForm1.grid2Click(Sender: TObject);
begin
ShowMessage('grid2 OnClic');
end;
procedure TForm1.grid2Exit(Sender: TObject);
begin
ShowMessage('grid2 OnExit');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Button1 OnClick');
end;
procedure TForm1.Button1Exit(Sender: TObject);
begin
ShowMessage('Button1 OnExit');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage('Button2 OnClick');
end;
procedure TForm1.Button2Exit(Sender: TObject);
begin
ShowMessage('Button2 OnExit');
end;
end.
Saludos.