Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Links im RichEdit anklickbar machen (https://www.delphipraxis.net/53109-links-im-richedit-anklickbar-machen.html)

Zacherl 10. Sep 2005 13:05


Links im RichEdit anklickbar machen
 
Hallo,
wie kann man Links, die in einem RichEdit stehen anklickbar machen, so dass sie dem Link nachgehen?

Florian

PierreB 10. Sep 2005 13:12

Re: Links im RichEdit anklickbar machen
 
DP-Suchfunktion => http://www.delphipraxis.net/internal...=323685#323685

Zacherl 10. Sep 2005 13:15

Re: Links im RichEdit anklickbar machen
 
Danke!
Ich werde glaub ich TJvRichEdit benutzen.

Florian

freak1985 11. Sep 2005 10:58

Re: Links im RichEdit anklickbar machen
 
geht aber auch ohne TJvRichEdit (also mit einem TRichEdit)


Delphi-Quellcode:
{....}

  protected
    procedure WndProc(var Message: TMessage); override;
   
{....}


uses Richedit, ShellApi;

procedure TForm1.FormCreate(Sender: TObject);
var
  mask: Word;
begin
  mask := SendMessage(RichEdit1.Handle, EM_GETEVENTMASK, 0, 0);
  SendMessage(RichEdit1.Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
  SendMessage(RichEdit1.Handle, EM_AUTOURLDETECT, Integer(True), 0);
end;

procedure TForm1.WndProc(var Message: TMessage);
var
  p: TENLink;
  strURL: string;
begin
  if (Message.Msg = WM_NOTIFY) then
  begin
    if (PNMHDR(Message.lParam).code = EN_LINK) then
    begin
      p := TENLink(Pointer(TWMNotify(Message).NMHdr)^);
      if (p.Msg = WM_LBUTTONDOWN) then
      begin
        SendMessage(RichEdit1.Handle, EM_EXSETSEL, 0, Longint(@(p.chrg)));
        strURL := RichEdit1.SelText;
        ShellExecute(Handle, 'open', PChar(strURL), 0, 0, SW_SHOWNORMAL);
      end
    end
  end;

  inherited;
end;

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz