1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| // pour éviter le clic en dehors des cellules éditables
procedure TForm1.sgCriteresMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
iCritereCol, iCritereRow: integer;
P: TPoint;
Rect: TRect;
begin
if Button=mbLeft then
with sgCriteres do begin
// Rect des cellules éditables
Rect.TopLeft := CellRect(FixedCols, FixedRows).TopLeft;
Rect.BottomRight := CellRect(ColCount-1, Rowcount-1).BottomRight;
P.X := X;
P.Y := Y;
// évite l'entrée en mode édition des cellule non éditables
// et de la dernière de la ligne si clic au-delà
if not PtInRect(Rect, P) then Abort;
end;
end; |
Partager