Buenas, estoy revisando una aplicacion que tiene un DbGrid que cuando se arrastra un elemento sobre ella inserta en una tabla capturando el campo sobre el que soltamos el raton...
si la tabla del dbgrid tiene menos de 17 registros no da ningun fallo, pero cuando existen mas registros a la rejilla le sale la barra de desplazamiento y conforme bajas, el foco va quedando atras, algunos registros no se pueden seleccionar, me explico...
cuando llego al registro 9 la barra de desplazamiento se mueve y entonces dnd antes estaba el 9 ahora esta el 10, pero ojo, se ilumina el registro 10 pero el foco se mantiene en el 9, si continuas bajando continua saltando cuando la barra de desplazamiento baja,e intentado kitar el autoscroll, xo no se como puedo hacerlo, os dejo el codigo:
Código Delphi
[-]
procedure TModuloimagenes.apuntar(Sender: TObject;x,y:integer);
var
F,C : Integer;
begin
with moduloimagenes do
with sender as tdbgrid do
begin
if( (x>12) and (x<(tstringgrid(sender).ColWidths[1]+tstringgrid(sender).
ColWidths[2])) )and ((y>20) and (y<(Tstringgrid(sender).RowCount *
Tstringgrid(sender).RowHeights[f] )) )then
begin
TStringGrid(sender).MouseToCell(x,y,C,F);
TStringGrid(sender).Col:=c;
TStringGrid(sender).Row := F;
Tdbgrid(sender).SetFocus;
DM.patologi.RecNo:=F;
end;
end;
end;
alguna sugerencia?