(2) Cursor:=crHandPoint;
Font.Style:= [fsUnderline];
这三句的意思是修改标签的视觉效果。 Cursor:=crHandPoint; 是设定当鼠 标移动到控件上时鼠标的
形状为“手型” ;Font.Style:= [fsUnderline]; 是设定文字的下划线效果。
3、既然是超链接控件,那么我们肯定要能使用户在使用控件的时候能在“ Object Inspector”中对超链接的
URL 进行修改,所以我们应该为控件增加一个 Url 属性。
属性是访问控件字段的接口。 通过属性, 控件使用者可以间接读或者写控件的内部字段改变控件的状态。
组件属性的声明需要以下几部分:属性名、属性类型、读方法(或读字段) 、写方法(或写字段。如果没有
写方法或写字段,则该属性为只读属性) 。属性在控件类声明的 Published 部分声明。在 Published 中声明的
属性可以在设计期通过 “Object Inspector”对属性值进行修改。 如果声明在 Public 部分则不可以在设计期通
过“ Object Inspector ”对属性值进行修改,但是可以在运行时通过代码进行读写。
在类声明的 Private 访问区域中添加如下字段声明:
FUrl: String;
在类声明中添加 Published 访问区域,并添加如下代码
property Url: String read FUrl write FUrl;
这段声明的意思是为控件添加一个 Url 属性,属性的类型是 string ,在读 Url 属性时返回 Furl 的值,在写 Url
属性时设定 Furl 的值。
4、超链接的视觉效果有了,下面使它点击时调用浏览器打开 Url 指定的网址。
在 Delphi 控件的事件处理中很多事件都有对应的一个调度方法 (这是设计模式中模板模式的典型应用) 。比
如在鼠标点击控件时,控件会首先调用 Click 方法,由 Click 方法进行相应的处理,而绝大多数调度方法都
会引发一个事件句柄(关于事件句柄我们后边有深入的介绍) 。比如 Tlabel 控件中在用户用点击 Label 时会
首先调用控件的 Click 方法(被声明为 Protected 级别),Click 方法再触发 OnClick 事件。 所以我们只要覆盖
Tlabel 的 Click 方法进行我们自己的处理就可以了。
在 Protected 部分添加如下的声明:
procedure Click;override;
在实现部分为 Click 方法写如下的代码:
procedure TUrlLabel.Click;
begin
评论0
最新资源