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 :
Le code de l'événement OnClick du speedbutton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
À 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
Partager