Hola mjjj.
Vas a tener que reescribir el método
MouseDown del
TDBGrid:
Código Delphi
[-]
...
type
TDBGrid = class(DBGrids.TDBGrid)
public
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);override;
end;
TForm1 = class(TForm)
...
end;
...
implementation
procedure TDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
...
inherited;
end;
Para simplificar la explicación te adjunto un ejemplo con la tabla country de dbdemos (incluida) que copia el/los campos de las filas seleccionadas a un ListBox.
Recuerda luego de una selección múltiple, el drag&drop deberas hacerlo sin levantar el botón del mouse. Es decir, luego de la última selección mantene el botón presionado y arrastra hacia el ListBox de otro modo perderás la selección ante el segundo click.
Para el ejemplo la acción del PopupMenu es la misma (copiar al ListBox) , crea una carpeta y descomprimí el adjunto allí.
Saludos