HtmlLink 组件是类似于网页上超级链接样式的组件,当鼠标移到链接上时就显示手势
状鼠标,点击链接时能打开相应的程序或网页。
我想做个有这样功能的TLinkLabel组件 就是在一个标签上的文字设置超级链接 我知道用
ShellExecute这个 api可以实现 但重载TLabel的Onclick过程的 时候却提示父类没有这个过程
大家帮帮我 谢谢!!!
状鼠标,点击链接时能打开相应的程序或网页。
我想做个有这样功能的TLinkLabel组件 就是在一个标签上的文字设置超级链接 我知道用
ShellExecute这个 api可以实现 但重载TLabel的Onclick过程的 时候却提示父类没有这个过程
大家帮帮我 谢谢!!!
解决方案 »
- 请问如何用ADO连接SYSBASE的SQL ANYWHERE数据库?
- 救命!!!!求‘报价系统’的源程序,自己想参考一下,没做过这方面的东西!!!
- 急需对应于vb的语句
- 寻求货物配送管理软件
- 关于INI文件的一个简单的部题
- 怎么样将两表同时做存数据库中去?
- 急急急急急急急急急急急急急急!!!解决一定给分
- 请问如何调用Windows的RAS
- 这样一个存储过程该如何写????
- 又收到英巴卡迪诺公司的法律传真怎么办?
- EnumWindows的使用问题,请高手帮忙,小弟是黔驴技穷了,在线等。 谢谢......................
- 请教在INTRAWEB程序中,IWDynamicChart1怎样改变图表类型属性?
private
procedure fClick(Sender: TObject);
public
end;
//////procedure TMyLable.fClick(Snder: TObject)
begin
ShellExecute('');///
end;在TMyLabel的Create事件写入
Self.Onclick := fClick;
unit LinkLabel;interfaceuses
SysUtils, Classes, Controls, StdCtrls,ShellAPI;type
TLinkLabel = class(TLabel)
private
{ Private declarations }
FLinkTo : pchar;
FMailTo : pchar;
procedure FOnClick( Sender : TObject );
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
property LinkTo read FLinkTo write FLinkTo;
property MailTo read FMailTo write FMailTo;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Standard', [TLinkLabel]);
end;{ TLinkLabel }procedure TLinkLabel.FOnClick(Sender: TObject);
begin
if self.FLinkTo <> nil then
ShellExecute(handle,
nil,
FLinkTo,
nil,
nil,
SW_SHOWNORMAL)
else if self.FMailTo <> nil then
ShellExecute(handle,
nil,
'mailto:' + FMailTo,
nil,
nil,
SW_SHOWNORMAL)
else
ShowMessage( 'LinkTo and MailTo both have value!' );
end;end.
但是ShellExecute的handle参数我不知道如何处理呀
而且这句有错: property LinkTo read FLinkTo write FLinkTo;提示我基类不存在LinkTo
MailTo也同样有此错还有不少错 我实在不会改……
property MailTo read FMailTo write FMailTo;
////////
你的LinkTo没有定义类型,应该这样写
property LinkTo: pchar read FLinkTo Write Flinkto;
property MailTo: pchar read FMailTo write FMailTo;
////////
至于ShellExecute,你引用forms这个单元...
之后拿Applicatin.Handle做句柄...
ShellExecute(Appliation.Handle,nil,nil,...);
不过可以使用这个winexec;
winexec('C:\Program Files\Internet Explorer\iexplore.exe http://www.csdn.net',SW_SHOW);
这样也行
但是property LinkTo : pchar read FLinkTo write FLinkTo;
property MailTo : pchar read FMailTo write FMailTo;
这里出错 提示我属性linkto和mailto 不能为指针类型
此外,
ShellExecute(Application.Handle,
nil,
FLinkTo,
nil,
nil,
SW_SHOW)
这里的SW_SHOW在哪里包含呢 也提示有错 呵呵 我以前不是用delphi的 啥都不懂