type
TFMPruebas = class(TForm)
[...]
sgPrueba: TStringGrid;
dtpPrueba: TDateTimePicker;
[...]
procedure sgPruebaSelectCell(Sender: TObject; ACol, ARow: integer; var CanSelect: boolean);
procedure dtpPruebaChange(Sender: TObject);
private
ColumnaSeleccionada : integer;
FilaSeleccionada : integer;
[...]
end;
procedure TFMPruebas.FormCreate(Sender: TObject);
begin
inherited;
dtpPrueba.Visible := False;
[...]
end;
procedure TFMPruebas.sgPruebaSelectCell(Sender: TObject; ACol, ARow: integer; var CanSelect: boolean);
var
r : TRect;
begin
r := sgPrueba.CellRect(ACol, ARow);
with dtpPrueba do
begin
FilaSeleccionada := ARow;
ColumnaSeleccionada := ACol;
if (ACol = 3) then
begin
Left := sgPrueba.Left + sgPrueba.CellRect(ACol, ARow).Left + 2;
Top := sgPrueba.Top + r.Top + 2;
Width := r.Right - r.Left - 2;
Height := r.Bottom - r.Top;
Visible := True;
try
Date := StrToDate(sgPrueba.Cells[ACol, ARow])
except
Date := Today;
end;
end
else
Visible := False;
end;
end;
procedure TFMPruebas.dtpPruebaChange(Sender: TObject);
begin
sgPrueba.Cells[ColumnaSeleccionada, FilaSeleccionada] := DateToStr(dtpPrueba.Date);
end;