Cómo agregar una columna de hipervínculo a un TcxGrid (Developer Express rejilla)
-
01-10-2019 - |
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:
- Obtener el cursor se convierta en la 'mano', cuando a través del enlace.
- Añadir un evento que se dispara cuando hago clic en el enlace.
Can? Gracias.
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;