Einzelnen Beitrag anzeigen

DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

Komponente MDLabel: wie werde ich das Event OnLinkClicked los?

  Alt 7. Jun 2020, 17:31
Ich möchte gerne die Komponente MDLabel verwenden. Das ist ein HTML-Label bestehend aus nur einer einzigen Unit.
Mir gefällt die wirklich sehr.

Was mich aber stört ist das Event OnLinkClicked.

Hier ein Beispiel-Caption: Caption := 'Links are also supported. Please click either <a>here (1)</a> or <a>here (2)</a> or <a>here (3)</a> or <a:https://google.com>here</a>.';
Im OnLinkClicked kann man sich jetzt anzeigen lassen, was man geklickt hat. Es wird here (1), here (2), here (3) und https://google.com ausgegeben
Delphi-Quellcode:
procedure TForm1.MDLabel1LinkClicked(Sender: TObject; LinkIndex: Integer; LinkText: WideString);
begin
 showmessage(LinkText);
end;
Ich würde die Komponente gerne umschreiben, sodass man das Event nicht mehr braucht und automatisch ein ShellExecute ausgeführt wird auf das was man klickt. Ob das ein valider Link ist oder nicht, ist egal.

Kurz: wie bekomme ich das Property weg und schreibe das so um, dass es intern verarbeitet wird ohne Zutun des Nutzers? Es ist bestimmt einfacher als ich mir vorstelle nur bin ich zu dumm dafür. Das Event wird in TMDLabel.MouseUp() ausgewertet.

Komponenten-Quelle: http://www.infintuary.org/stlabel.php

Geändert von DieDolly ( 7. Jun 2020 um 17:35 Uhr)
  Mit Zitat antworten Zitat