AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente TLinkLabel

Ein Thema von Willie1 · begonnen am 26. Mär 2011 · letzter Beitrag vom 14. Jun 2011
Antwort Antwort
Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Komponente TLinkLabel

  Alt 26. Mär 2011, 19:02
Hallo Leute,
kennt sich jemand mit der Komponente TLinkLabel (von Delphi XE) aus. Ich habe gegoogled und merke, dass ich nicht der einzige bin, der damit ein Problem hat. Ich erkenne überhaupt keine Funktionalität der Komponente außer Caption an zu zeigen. Kein Ereignis wird ausgelöst.

ich dachte mit: .Caption:='<a href="http;//www,dfb.de>DFB im Netz</a>' würde was laufen.

Danke Willie.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Komponente TLinkLabel

  Alt 26. Mär 2011, 19:28
Es wird eher eine URL-Property geben, als dass die Komponente HTML interpretieren würde. Ich schau mal schnell nach...

Okay, okay, interpretiert doch HTML Du hast auch einen Fehler in deiner URL! Vielleicht klappts daher nicht. Und von Haus aus passiert nichts mit dem Link, du musst OnLinkClick implementieren.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)

Geändert von s.h.a.r.k (26. Mär 2011 um 19:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Komponente TLinkLabel

  Alt 26. Mär 2011, 19:41
Ich glaube Du musst einfach <A>Dein Link</A> schreiben und wie bereits erwähnt im OnLinkClick manuell die Adresse aufrufen.
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: Komponente TLinkLabel

  Alt 26. Mär 2011, 19:58
Mit <a>Mein Link</a> bekommt die Komponente eine Funktionalität. Was muss ich denn jetzt bei OnLinkClick eintragen: ShellExecute(..) mit dem Parameter Link? Aber was für einen Vorteil hätte die K. dann gegenüber einer normalenen label (mit OnClick zum Auslösen des Links)?

Willie.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

AW: Komponente TLinkLabel

  Alt 26. Mär 2011, 20:03
Wenn du <a href="http://www.google.de">Blub</a> verwendest, dann bekommst du die URL direkt gelierfert und musst diese am Schluss nicht noch fest eincodieren.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Komponente TLinkLabel

  Alt 26. Mär 2011, 20:16
Uups, da ist mir doch Delphi bei der Eingabe der URL im Objektinspektor total abgestürzt! Aber ich denke, ich komme jetzt klar. Aber den Mehrwert dieser Komponente erschließt sich mir nicht so richtig!?
W.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#7

AW: Komponente TLinkLabel

  Alt 27. Mär 2011, 04:14
Bisher hatte ich zwar ein einfaches Label um OnClick+ShellExeceute für den Link und um OnMouseOver + OnMouseLeave für einen Hover-Efekt genutzt.

Aber ansonsten ist dieses TLinkLabel doch recht nett, wenn man einen Link im Programm anbieten möchte (z.B. in einem About-Dialog).
Vorteil ist hier, daß der Link mitten in einem Text stehen kann.

PS: Es wird allerdings nicht wirklich HTML interpretiert.
Quasi sucht einfach nur "billiges" Pos nur nach <a href=" , womit wirklich nur dieses eine HTML-Konstrukt erkannt und interpretiert wird.
<a>http://link.de</a> geht allerdings nicht, bzw. es funktioniert nicht richtig.



Allerdings muß ich gestehen, daß ich dachte Embarcadero wäre mal intelligent gewesen und hätte dort das ShellExecute für den Link mit integriert, wenn man keine eigene Behandlung dafür angegeben hat.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#8

AW: Komponente TLinkLabel

  Alt 27. Mär 2011, 15:47
Zitat:
Bisher hatte ich zwar ein einfaches Label um OnClick+ShellExeceute für den Link und um OnMouseOver + OnMouseLeave für einen Hover-Efekt genutzt.
So habe ich es auch gemacht.
TLinkLabel ist schlecht dokumentiert. Ich habe es ausprobiert, nur mit <a>Link</a> funktioniert es. Mit <a href ...> nicht. Bei ShellExecute wird Link nicht richtig ausgelöst und was hat es LinkType auf sich.
Wie funktioniert den ShellExecute zusammen mit LinkLabel?
Delphi-Quellcode:
procedure THistoryDlg.LinkLabel1LinkClick(Sender: TObject; const Link: string;
  LinkType: TSysLinkType);
begin
ShellExecute(Handle, 'open', PWideChar(Link), nil, nil, SW_MAXIMIZE);
end;
jedenfall läuft nicht. Ich habe es gerade geprüft, Link ist ein leerer String. LL.Caption='<a>Link</a>' sieht so aus.

Ich finde LinkLabel ist ein Zeitdieb.

Willie

Geändert von Willie1 (27. Mär 2011 um 16:28 Uhr) Grund: Neue Erkenntnis
  Mit Zitat antworten Zitat
Benutzerbild von runningsoft
runningsoft

Registriert seit: 8. Okt 2004
Ort: Bernau
108 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Komponente TLinkLabel

  Alt 14. Jun 2011, 14:39
Gibts da Unterschiede zwischen Delphi 10 und Delphi XE?
Bei mir funktioniert TLinkLabel (anscheinend) problemlos. Als Caption <a href="http://www.runningsoft.de">Link</a> eingetragen und im Ereignis OnLinkClick:

Delphi-Quellcode:
procedure TForm1.LinkLabel1LinkClick(Sender: TObject; const Link: string;
  LinkType: TSysLinkType);
begin
ShellExecute(Handle, 'open', PWideChar(Link), nil, nil, SW_MAXIMIZE);
end;
Der Linktext wird unterstrichen dargestellt, Cursor ändert sich beim draufzeigen in crHandPoint, eigentlich alles so, wie erwartet.

Steffen
Steffen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz