Pregunta

Hola En Delphi he conseguido (!) Para agregar una columna a una vista de tabla TcxGrid que aparece como un hipervínculo (en lugar de una cadena simple). Para ello, sólo tiene que editar 'propiedades' de la columna y seleccione 'hipervínculo'. La celda muestra ahora un estilo hipervínculo (subrayado) pero CANOT para la vida de mí ver la forma de:

  1. Obtener el cursor se convierta en la 'mano', cuando a través del enlace.
  2. Añadir un evento que se dispara cuando hago clic en el enlace.
ayuda a nadie

Can? Gracias.

¿Fue útil?

Solución

Haga clic en el encabezado de la columna, la columna está seleccionada.

Goto 'Eventos'

Propiedades - OnStartClick -> Este evento se activa cuando se hace clic en un URL

En mi sistema Delphi 7 con la última dev.express instalado, el cursor se cambia a una mano cuando una url está presente.

que la cremallera de mi programa de ejemplo Dephi 7 y ejecutable por lo que ver el proyecto completo a su auto (la descarga de los de mi propio sitio www.edelcom.com)

  • ejecutar el exec
  • pulse el botón de insertar en la parte inferior
  • escribir la dirección: www.google.com
  • pulse Intro
  • moverse por el enlace - el aparece de la mano, y haciendo clic en el enlace, aparecerá un mensaje hizo 'clic', si usted no tiene el evento click, se inicia la url se ha hecho clic (tal vez puede hacer eso también, pero no he 't trató este)

Otros consejos

Después de configurar las propiedades de hipervínculo, puede ampliar las propiedades. Establecer la propiedad SiongleClick a True para la activación con un solo clic.

Para cambiar el cursor es más difícil. Usted tendrá que reaccionar en un evento MouseMove y determinar si el ratón está acaparando por una columna de hipervínculo. Desde el href="http://www.devexpress.com/Support/Center/p/Q256610.aspx?searchtext=hyperlink&p=T1|P0|83" rel="nofollow noreferrer"> DevExpress sitio

procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  Ht: TcxCustomGridHitTest;
begin
  Ht := TcxGridSite(Sender).GridView.Viewinfo.GetHitTest(X,Y);
  If (Ht is TcxGridRecordCellHitTest) and
   (TcxGridRecordCellHitTest(Ht).Item.Properties is TcxHyperLinkEditProperties) then
    Screen.Cursor := crHandPoint
  else
    Screen.Cursor := crDefault;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if Screen.Cursor <> crDefault then
     Screen.Cursor := crDefault;
end;
scroll top