代码之家  ›  专栏  ›  技术社区  ›  tua

Delphi的TLinkLabel坏了吗?

  •  0
  • tua  · 技术社区  · 1 年前
    procedure Tform_About.FormCreate(Sender: TObject);
    begin
      inherited;  // <- GenericBase form
      //
      linklabel_EULA.Caption := 'Visit <a href="https://www.example.com">Website</a> or view <a href="#EULA">EULA</a>.';
    end;
    
    //----------------------------------------------------------------------------------------------------------------------
    procedure Tform_About.linklabel_EULALinkClick(Sender: TObject; const Link: String; LinkType: TSysLinkType);
    begin
      case LinkType of
        sltID:  HandleIDLink(Link);
        sltURL: ShellExecute(0, 'open', PChar(Link), nil, nil, SW_SHOWNORMAL);
      end;
    end;
    

    单击“EULA”后 Link 的参数 LinkClick 程序正确输入为 '#EULA' ,但是 LinkType 参数为 sltURL 。有什么想法吗?虫子?

    1 回复  |  直到 1 年前
        1
  •  1
  •   Andreas Rejbrand    1 年前

    不,这是按设计的。

    链接类型 sltURL 用于所有 href 链接:

    <a href="something">Link caption</a>
    

    链接类型 sltID 用于所有 id 链接:

    <a id="something">Link caption</a>
    

    这是有文件记录的 at MSDN .

    推荐文章