Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   dbgrid y drag&drop (https://www.clubdelphi.com/foros/showthread.php?t=31431)

jepes 08-05-2006 12:51:58

dbgrid y drag&drop
 
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
      //controlo que no se salga de los margenes
      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
        {Extrae la columna y la fila que esta señalando el raton en las
         coordenadas x e y}
        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?


La franja horaria es GMT +2. Ahora son las 01:38:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi