J'utilise Delphi 10.1 Berlin pour faire une application multi-périphérique. J'ai un TStringGrid
afin de lister certaines données d'une requête.delphi TStringGrid et le bouton droit de la souris
J'ai également un menu contextuel (modifier, supprimer, ...), mais pour modifier/supprimer un élément, je dois cliquer sur une cellule en utilisant le bouton gauche de la souris.
Est-il possible de "sélectionner une ligne" en utilisant seulement le bouton droit avant d'afficher le menu contextuel?
J'ai essayé:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
StringGrid1.Perform(WM_LBUTTONDOWN, 0, MakeLParam(Word(X), Word(Y)));
end;
Mais il affiche une erreur sur mbRight
et Perform()
.
Je vois que vous avez également ajouté "application multidevice". Veuillez toujours ajouter une balise 'firemonkey' pour les applications FMX. –
Comment avez-vous ajouté l'événement 'OnMouseDown'? FMX 'TStringGrid' n'expose pas un tel événement. –
[Aller simple] (https://pastebin.com/BbTG6pAB). – Victoria