Buenas tardes gluglu,
La función del mouseup del dbgrid para que controle la tecla shift lo tenía puesto de la siguiente forma:
Código Delphi
[-]
procedure TFrmMenuArt.DbGridOrdenesMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
w:integer;
begin
if pulsada<>17 then
begin
QueFilas:='';
if button=MBLeft then
begin
if pulsada=16 then
begin
UltiRegOrd:=QueryOrdenes.RecNo;
DbGridOrdenes.SelectedRows.Clear;
for w:=PrimerRegOrd to UltiRegOrd do
begin
DbGridOrdenes.DataSource.DataSet.RecNo:=w;
DbGridOrdenes.SelectedRows.CurrentRowSelected:=true;
QueFilas:=QueFilas+DbGridOrdenes.DataSource.DataSet.FieldByName('NOrden').AsString+';';
end;
FilasSeleccionadas:=DbGridOrdenes.SelectedRows.Count;
end
else
begin
PrimerRegOrd:=QueryOrdenes.RecNo;
end;
end;
end;
end;
Pero al hacerlo así se me mueve el listado y entonces empieza a volverse un poco loco, estoy dandole un poco de vueltas a ver si le saco punta.
Saludos.