delphi 隐藏标题栏

Delphi中隐藏窗体的标题栏,相信大家都会说是一个件十分容易的事情,只需要设置BorderStyle的属性为bsNone就可以了,不过这种设置方法不但去掉了窗体的标题栏,而且也去掉了窗体的3D边框,这样就显得不好看了,那么请大家试试下面的方法吧。

procedure TForm1.FormCreate(Sender: TObject);

begin

setwindowlong(form1.Handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_caption);

height:=clientheight;//隐藏标题栏

end;

2.在标题栏中显示文字标题

要在窗体的标题栏中显示文字信息,可以先获取此窗体的句柄,然后使用画布(Canvas)在此窗体的标题栏中绘制出文字,根据需要可以对文字的字体大小和颜色进行设置。

procedure TForm1.Button1Click(Sender: TObject);

var

dc:hdc;

cvs:tcanvas;

begin

dc:=getwindowdc(handle);//取得窗体的句柄

cvs:=tcanvas.Create;

cvs.Handle:=dc;

cvs.Font.Size:=11;//设置字体大小

cvs.Brush.Color:=rgb(222,222,9);//背景颜色

cvs.TextOut(100,8,'标题栏文字');//绘制文字

releasedc(handle,dc);//释放句柄

end;

3.在任务栏中隐藏窗体的图标

在Windows中运行程序时,往往此程序的图标都会出现在任务栏中,但也有一些特殊的程序禁止了这种做法,如一些监控程序等,其实要实现这种效果也有好多种方法,下面是其中的一种。

procedure TForm1.FormCreate(Sender: TObject);

begin

showwindow(application.handle,sw_hide); //隐藏图标

setwindowlong(application.Handle,gwl_exstyle,

getwindowlong(application.Handle,gwl_exstyle) or ws_ex_toolwindow and not ws_ex_appwindow);

//设定窗体在状态栏处不可见状态

end;

1.隐藏窗体的标题栏

Delphi中隐藏窗体的标题栏,相信大家都会说是一个件十分容易的事情,只需要设置BorderStyle的属性为bsNone就可以了,不过这种设置方法不但去掉了窗体的标题栏,而且也去掉了窗体的3D边框,这样就显得不好看了,那么请大家试试下面的方法吧。

procedure TForm1.FormCreate(Sender: TObject);

begin

setwindowlong(form1.Handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_caption);

height:=clientheight;//隐藏标题栏

end;

2.在标题栏中显示文字标题

要在窗体的标题栏中显示文字信息,可以先获取此窗体的句柄,然后使用画布(Canvas)在此窗体的标题栏中绘制出文字,根据需要可以对文字的字体大小和颜色进行设置。

procedure TForm1.Button1Click(Sender: TObject);

var

dc:hdc;

cvs:tcanvas;

begin

dc:=getwindowdc(handle);//取得窗体的句柄

cvs:=tcanvas.Create;

cvs.Handle:=dc;

cvs.Font.Size:=11;//设置字体大小

cvs.Brush.Color:=rgb(222,222,9);//背景颜色

cvs.TextOut(100,8,'标题栏文字');//绘制文字

releasedc(handle,dc);//释放句柄

end;

3.在任务栏中隐藏窗体的图标

在Windows中运行程序时,往往此程序的图标都会出现在任务栏中,但也有一些特殊的程序禁止了这种做法,如一些监控程序等,其实要实现这种效果也有好多种方法,下面是其中的一种。

procedure TForm1.FormCreate(Sender: TObject);

begin

showwindow(application.handle,sw_hide); //隐藏图标

setwindowlong(application.Handle,gwl_exstyle,

getwindowlong(application.Handle,gwl_exstyle) or ws_ex_toolwindow and not ws_ex_appwindow);

//设定窗体在状态栏处不可见状态

end;