扶
扶程星云
Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个控件,但怎么也装不上,不知道为什么?请各位帮忙看看。
unit QWeblabel;
interface
uses
Windows, Messages, SysUtils, Classes, QControls, QStdCtrls,ShellAPI;
type
tWeblabel = class(tlabel)
private
{ Private declarations }
Fhttpaddr:string;////定义一个变量存放HTTP主页的地址为了使控件编辑器能够修改它,则加入:
protected
{ Protected declarations }
procedure click; override;
public
{ Public declarations }
procedure ExploreWeb(handle:HWND ; pageChar);
constructor Create(AOwner: TComponent); override; //重载Create函数
published
{ Published declarations }
property CHttpaddr: string read Fhttpaddr write Fhttpaddr;//将变量输出到控件编辑器中,名称应该为HTTPADDR,前面加C是为了方便,
//它将直接排列在Caption的下面,方便修改。
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [tWeblabel]);
end;
{ tWeblabel }
procedure tWeblabel.click;
begin
inherited Click; //调用父辈的Click函数
ExploreWeb(0,pchar(Fhttpaddr)); //调用WEB页面
end;
constructor tWeblabel.Create(AOwner: TComponent);
begin
//调用父辈的CREATE
inherited Create(Aowner);
//以下是自己的初始化代码
//将光标设置为手型
Cursor := crHandPoint;
//令标题=主页地址
chttpaddr := 'http://www.handing.com';
Caption:=chttpaddr;
//字体缺省大小为10
font.size := 10;
// font.color := clBlue; //字体缺省颜色为兰色
// font.style := [fsUnderline]; //字体缺省风格为下划线
end;
procedure tWeblabel.ExploreWeb(handle: HWND; page: PChar);
var
Returnvalue : integer; //实际调用WEB页面
begin
ReturnValue := ShellExecute(0,'open',page,nil,nil,SW_SHOWNORMAL);
{ if ReturnValue <= 32 then case
Returnvalue
of 0 :MessageBox('错误:内存溢出!','WEB页面出错信息',[smbOK]);
ERROR_FILE_NOT_FOUND:
Application.MessageBox(handle'错误:文件未找到!''WEB页面出错信息'[smbOK]);
ERROR_PATH_NOT_FOUND:MessageBox(handle'错误:目录错误!''WEB页面出错信息'[smbOK]);
ERROR_BAD_FORMAT :
MessageBox(handle'错误:EXE文件格式错误!''WEB页面出错信息'[smbOK]);
// All other errors . See help for more ReturnValues of ShellExecute
else
MessageBox(handle,PChar('错误信息[:'+IntToStr(Returnvalue)+']')'WEB页面出错信息'[smbOK]) }
end;
end.
unit QWeblabel;
interface
uses
Windows, Messages, SysUtils, Classes, QControls, QStdCtrls,ShellAPI;
type
tWeblabel = class(tlabel)
private
{ Private declarations }
Fhttpaddr:string;////定义一个变量存放HTTP主页的地址为了使控件编辑器能够修改它,则加入:
protected
{ Protected declarations }
procedure click; override;
public
{ Public declarations }
procedure ExploreWeb(handle:HWND ; pageChar);
constructor Create(AOwner: TComponent); override; //重载Create函数
published
{ Published declarations }
property CHttpaddr: string read Fhttpaddr write Fhttpaddr;//将变量输出到控件编辑器中,名称应该为HTTPADDR,前面加C是为了方便,
//它将直接排列在Caption的下面,方便修改。
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [tWeblabel]);
end;
{ tWeblabel }
procedure tWeblabel.click;
begin
inherited Click; //调用父辈的Click函数
ExploreWeb(0,pchar(Fhttpaddr)); //调用WEB页面
end;
constructor tWeblabel.Create(AOwner: TComponent);
begin
//调用父辈的CREATE
inherited Create(Aowner);
//以下是自己的初始化代码
//将光标设置为手型
Cursor := crHandPoint;
//令标题=主页地址
chttpaddr := 'http://www.handing.com';
Caption:=chttpaddr;
//字体缺省大小为10
font.size := 10;
// font.color := clBlue; //字体缺省颜色为兰色
// font.style := [fsUnderline]; //字体缺省风格为下划线
end;
procedure tWeblabel.ExploreWeb(handle: HWND; page: PChar);
var
Returnvalue : integer; //实际调用WEB页面
begin
ReturnValue := ShellExecute(0,'open',page,nil,nil,SW_SHOWNORMAL);
{ if ReturnValue <= 32 then case
Returnvalue
of 0 :MessageBox('错误:内存溢出!','WEB页面出错信息',[smbOK]);
ERROR_FILE_NOT_FOUND:
Application.MessageBox(handle'错误:文件未找到!''WEB页面出错信息'[smbOK]);
ERROR_PATH_NOT_FOUND:MessageBox(handle'错误:目录错误!''WEB页面出错信息'[smbOK]);
ERROR_BAD_FORMAT :
MessageBox(handle'错误:EXE文件格式错误!''WEB页面出错信息'[smbOK]);
// All other errors . See help for more ReturnValues of ShellExecute
else
MessageBox(handle,PChar('错误信息[:'+IntToStr(Returnvalue)+']')'WEB页面出错信息'[smbOK]) }
end;
end.