Comment ajouter une colonne de lien hypertexte vers un TcxGrid (GRID express Developer)

StackOverflow https://stackoverflow.com/questions/2696604

  •  01-10-2019
  •  | 
  •  

Question

Salut Dans Delphi J'ai réussi (!) Pour ajouter une colonne à une vue de tableau TcxGrid qui apparaît comme un lien hypertexte (au lieu d'une simple chaîne de caractères). Pour ce faire, vous modifiez simplement « propriétés » de la colonne et choisissez « lien hypertexte ». La cellule affiche désormais un style de lien hypertexte (souligné) mais je CANOT pour la vie de me voir comment:

  1. Obtenir le curseur sur le changement de la « main » quand sur le lien.
  2. Ajouter un événement qui est déclenché lorsque je clique sur le lien.

Quelqu'un peut-il aider? Merci.

Était-ce utile?

La solution

Cliquez sur l'en-tête de la colonne, la colonne est sélectionnée.

Goto 'Events'

Propriétés - OnStartClick -> cet événement est déclenché lorsque vous cliquez sur une URL

Sur mon système delphi 7 avec le dernier dev.express installé, le curseur change à une main quand une URL est présente.

Je zippé mon exemple de programme Dephi 7 et exécutable donc vous voyez le projet complet de votre auto (le téléchargement de mon propre site www.edelcom.com)

  • exécuter le exec
  • appuyez sur le bouton d'insertion en bas
  • entrez url: www.google.com
  • appuyez sur Entrée
  • se déplacer sur le lien - le apparaît à la main, et en cliquant sur le lien, affiche un message clicked ', si vous n'avez pas l'événement de clic, il commence l'url clicked (peut-être il peut le faire aussi, mais havre de paix I « t essayé cela)

Autres conseils

Après avoir défini les propriétés à Hyperlink, vous pouvez étendre les propriétés. Définissez la propriété SiongleClick True pour l'activation en un seul clic.

Pour changer le curseur est plus difficile. Vous devrez réagir sur un événement mousemove et déterminer si la souris est hoovering sur une colonne de lien hypertexte. De DevExpress Site :

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;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top