Delphi DBGrid avec button
Salut à tous, je voudrais partager avec vous mon souci, voilà un petit programme qui se compose d'un DBGrid avec un speedbutton dans la dernière colonne. J'ai pris cette (exemple) sur le net :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| procedure TForm1.sDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
MRect: TRect;
Begin
IF (Column.Index = 11) Then
Begin
MRect := THackDBGrid(sDBGrid1).CellRect(Column.Index + 1,
THackDBGrid(sDBGrid1).Row);
if gdSelected in State then
SuppAvis.Left := MRect.Left + 2;
SuppAvis.Width := (MRect.Right - MRect.Left) - 4;
SuppAvis.Top := MRect.Top + 2;
SuppAvis.Height := MRect.Height - 4;
SuppAvis.Parent := sDBGrid1;
SuppAvis.Visible := True;
End;
end; |
Le code de l'événement OnClick du speedbutton :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| procedure TForm1.sBitBtn1Click(Sender: TObject);
begin
IF MessageDlg('Confirmez la Suppression', mtWarning,
[mbYes, mbNo], 0) = mrYes Then
Begin
Try
Table.Delete;
Except
On E: EFDDBEngineException Do
Begin
ShowMessage('Erreur !' + E.Message);
Raise;
End;
End;
End;
end; |
Tout marchait très bien. À chaque fois que je sélectionnais une ligne du DBGrid le speedbutton apparaissait et quand j'appuyai sur ce dernier il exécutait la procédure sBitBtn1Click.
À un moment donné je ne sais quelle bêtise j'ai commis.
Maintenant le button apparait toujours mais quand je clique sur le bouton il ne lance plus la procedure sBitBtn1Click.
J'ai refait complètement le programme, mais le problème du click et toujours là, je suis sans solutions depuis deux jours. Merci pour votre aide
Delphi 10.3