Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
capturar click en la columna de titulo StringGrid

Pues sip, quisiera poder capturar el vento de click en la columna de titulo de el StringGrid al estilo del evento OnTitleClick del DbGrid.

si alguien pudiera echarme la mano,

Muchas gracias desde ya.
Responder Con Cita
  #2  
Antiguo 19-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes utilizar el evento OnMouseDown y consultar el parámetro Y. Algo así:

Código Delphi [-]
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if (Y <= StringGrid1.DefaultRowHeight) then begin
    MessageDlg('Pulsando en el título...', mtInformation, [mbOK], 0);
  end;
end;

...siguiente pregunta. ¿Y cómo saber la columna?

Utiliza el parámetro X y la propiedad ColWidths[Index] del TStringGrid
.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 19-01-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
pues leyendo la documentación del componente encontre el método mousecoord y me quedo así procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Var Valor :String; LGcCoord: TGridCoord; //Define las cordenadas del mouse en el grid begin LGcCoord := TCustomGrid(StringGrid1).MouseCoord(x,y); GiCol := LGcCoord.X; //Establece la columna seleccionada GiRow := LGcCoord.Y; //Establece la fila seleccionada if (GiRow = 0) And (Button = mbleft) And (GiCol -1) then Begin with stringgrid1 do Begin GCelda := CellRect(GiCol,0); Valor := Cells[GiCol, 0]; Canvas.Font := Font; Canvas.Brush.Color := clBtnFace; Canvas.FillRect(GCelda); Canvas.TextRect(GCelda, GCelda.Left + 2, GCelda.Top + 2, Valor); DrawEdge(Canvas.Handle, GCelda, 10, 2 or 4 or 8); DrawEdge(Canvas.Handle, GCelda, 2 or 4, 1); End; End; End; procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Var Valor :String; begin if (GiRow = 0) And (Button = mbleft) And (GiCol -1) then Begin with stringgrid1 do Begin Valor := Cells[Gicol, 0]; Canvas.Font := Font; Canvas.Brush.Color := clBtnFace; Canvas.FillRect(GCelda); Canvas.TextRect(GCelda, GCelda.Left + 2, GCelda.Top + 2, Valor); DrawEdge(Canvas.Handle, GCelda, 4, 4 or 8); DrawEdge(Canvas.Handle, GCelda, 4, 1 or 2); GCelda := stringgrid1.CellRect(1, 1); End; End; end;
Responder Con Cita
  #4  
Antiguo 19-01-2006
Avatar de fabianbbg
fabianbbg fabianbbg is offline
Miembro
 
Registrado: ago 2003
Ubicación: Corrientes, Argentina
Posts: 80
Poder: 21
fabianbbg Va por buen camino
Una etiqueta por alla por favor...
__________________
desde Corrientes, Argentina..
Cuna del Libertador de America
Responder Con Cita
  #5  
Antiguo 19-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo no entiendo; cuando oprimen el botón "Enviar respuesta", ¿qué no se percatan de que no quedó correcamente formateado?

// Saludos
Responder Con Cita
  #6  
Antiguo 19-01-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
La opción "Preview Post" es muy útil en estos casos...
Responder Con Cita
  #7  
Antiguo 19-01-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
no se enojen, es que estaba usando firefox

Código Delphi [-]
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
 Var
  Valor :String;
  LGcCoord: TGridCoord; //Define las cordenadas del mouse en el grid
begin
  LGcCoord := TCustomGrid(StringGrid1).MouseCoord(x,y);
  GiCol := LGcCoord.X; //Establece la columna seleccionada
  GiRow := LGcCoord.Y; //Establece la fila seleccionada
  if (GiRow = 0) And (Button = mbleft) And (GiCol <> -1) then
    Begin
      with stringgrid1 do
        Begin
          GCelda := CellRect(GiCol,0);
          Valor := Cells[GiCol, 0];
          Canvas.Font := Font;
          Canvas.Brush.Color := clBtnFace;
          Canvas.FillRect(GCelda);
          Canvas.TextRect(GCelda, GCelda.Left + 2, GCelda.Top + 2, Valor);
          DrawEdge(Canvas.Handle, GCelda, 10, 2 or 4 or 8);
          DrawEdge(Canvas.Handle, GCelda, 2 or 4, 1);
        End;
     End;
End;
procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
 Var
  Valor :String;
begin
  if (GiRow = 0) And (Button = mbleft) And (GiCol <> -1) then
    Begin
      with stringgrid1 do
        Begin
          Valor := Cells[Gicol, 0];
          Canvas.Font := Font;
          Canvas.Brush.Color := clBtnFace;
          Canvas.FillRect(GCelda);
          Canvas.TextRect(GCelda, GCelda.Left + 2, GCelda.Top + 2, Valor);
          DrawEdge(Canvas.Handle, GCelda, 4, 4 or 8);
          DrawEdge(Canvas.Handle, GCelda, 4, 1 or 2);
          GCelda := stringgrid1.CellRect(1, 1);
        End;
    End;
end;
Responder Con Cita
  #8  
Antiguo 20-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por poliburro
...no se enojen, es que estaba usando firefox
Y digo yo, "Que tendrá que ver el tocino con la velocidad..."
Yo utilizo FireFox desde hace mucho tiempo y cuando las cosas se ven bien, se ven bien en todos sitios y cuandose ven mal, se ven mal en todos sitios.

Sólo nos queda que las faltas de ortografía tambié van a ser culpa de Firefox...

Un saludo -sin acritud-.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 20-01-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Neftali
Sólo nos queda que las faltas de ortografía tambié van a ser culpa de Firefox...
Un saludo -sin acritud-.
¿Será por eso que se ven tantas faltas de ortografía?, ya me extrañaba a mí, resulta que es el navegador que interfiere en lo que se escribe y cambia los caracteres
Responder Con Cita
  #10  
Antiguo 21-01-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Pero si que son enojones mis amigos, haber me explico: resulta que estaba navegando en FireFox cuando pegué mi código y al parecer el navegador no hizo caso del clic que hice en el icono que agrega las etiquetas que formatean código delphi.

Ahora bien, como tenia algo de prisa y quise compartir mi solución, presione el botón de "Enviar Respuesta" en lugar de hacer la vista previa.

Espero disculpen las molestias. Por lo general trato de evitar estos debates.
Responder Con Cita
  #11  
Antiguo 23-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No fue enojo, no te preocupes, fue un comentario a tu comentario...

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Un Mismo Titulo a 2 columnas StringGrid MITOPE Varios 2 24-08-2006 00:41:33
Stringgrid Ordenar datos con click en titulo de columna dmassive Varios 1 20-01-2006 04:09:12
Detectar click sobre columna de un DBgrid lavtaro Varios 2 13-11-2005 01:56:10
Capturar el nombre de una Columna DBGRID SaLvaGe OOP 1 22-09-2005 13:31:13
StringGrid con totales por columna xxxFALKORxxx Varios 0 10-01-2005 22:14:52


La franja horaria es GMT +2. Ahora son las 08:05:37.


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