Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2010
valeria valeria is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
valeria Va por buen camino
Sigo con problemas de dbgrid...

Chicos disculpen que los siga molestando y muchas gracias por contestarme siempre....bien sigo con el problema de scroll del mousse,y seleccion en un dbgrid,bien esta casi solucionado,logro llevar el movimiento del scroll del mousse y que puedan seleccionar la fila que se quiere atraves de el siguiente codigo (que de paso si a alguien le sirve lo posteo),bien el unico problema que existe es que el foco queda en la primer fila...y si un usuario quiere usar de entrada el scroll del mousse este queda congelado...no funciona en la primer fila del dbgrid....hasta que el usuario no seleccione alguna fila...y ahy si recien se activa la rueda del scroll..bueno desde ya muchisimas gracias!!


Código Delphi [-]
 
procedure TFrm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if gdSelected in State then
    DbGrid1.Canvas.Brush.Color := clSilver;
    self.DBGrid1.Canvas.Font.Color:= clNavy;
  if gdFocused in State then
    DbGrid1.Canvas.Font.Color := clBlue;
    DbGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
 end;
 
procedure TFrm.DBGrid1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
   gc: TGridCoord;
 begin
   gc := DBGrid1.MouseCoord(x, y) ;
   MouseOverRow := gc.Y;
 end;

procedure TFrm.DBGrid1PillaLaRueda(var Message: TMessage);
 var
   Cuanto : short;
 begin
   if (Message.Msg = WM_MOUSEWHEEL) then begin
     Cuanto:=HIWORD(Message.WParam);
     Cuanto:=Cuanto div 120;
     DbGrid1.DataSource.DataSet.MoveBy(-Cuanto);
   end
   else TomaInvento(DBGrid1).WndProc(Message);
 end;
 
procedure TTareasPendientesFrm.FormCreate(Sender: TObject);
begin
  DBGrid1.WindowProc := DBGrid1PillaLaRueda;
end;
Responder Con Cita
  #2  
Antiguo 28-07-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Valeria.

Eliminá o desactivá la línea :
Código:
 { DBGrid1.WindowProc := DBGrid1PillaLaRueda; }
y reemplazala en el form principal por:
Código:
  Application.OnMessage := MouseWheel;
El procedimiento MouseWheel es:
Código:
procedure TForm1.MouseWheel(var Msg: tagMSG; var Handled: Boolean);
var
  x: SmallInt;
begin
  if Msg.Message = WM_MOUSEWHEEL then
  begin
    Msg.Message := WM_KEYDOWN;
    Msg.lParam := 0;
    x := HiWord(Msg.wParam);
    if x > 0 then
      Msg.wParam := VK_UP
    else
      Msg.wParam := VK_DOWN;
    Handled:= false;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-07-2010 a las 00:16:51.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sigo con mis dudas y problemas en MySQL JoAnCa MySQL 2 02-12-2009 20:56:30
Con que sigo? serfap Varios 6 12-06-2006 18:02:58
Sigo con problemas con los indices Antuan Tablas planas 6 10-10-2005 20:52:11
QReport y Columnas...sigo con problemas BlueSteel Impresión 0 18-08-2005 18:19:17
sigo con MDI pablo OOP 2 27-02-2005 17:42:15


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


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
Copyright 1996-2007 Club Delphi