Welcome

首页 / 软件开发 / Delphi / 用Delphi7.0实现漂亮的汉字窗口

用Delphi7.0实现漂亮的汉字窗口2009-10-11 电脑报 五湖肥人在可视化开发的时代,窗体是绝大部分应用程序的核心,但是开发者也许已对Windows一成不变的方形窗体感到厌烦。其实巧妙地使用API函数即可实现汉字形状的窗体。 本文的实例运行后将显示一个由“电脑报”三个汉字作为外形的窗体。当然你还可以利用本期讲的方法实现更有个性的汉字窗口。

设计思路

1使用BeginPath和EndPath函数为窗体定义路径。

2用PathToRegion将路径转换为Region数据。

3调用SetWindowRgn按路径绘制窗体。

4由于不规则窗体无系统菜单,因此程序中必须有关闭窗体的代码。

实现步骤

启动Delphi7,新建项目。前述的API函数在Delphi中均可直接调用,因此用户不需要声明,可直接输入下面的控件事件代码。

//窗体创建事件
procedure TForm1.FormCreateSender TObject
var
rgnHRGN
begin
//设置文字颜色为红色
form1.Color=clred
//开始设置路径,参考API函数声明①
beginpathcanvas.Handle
//设置背景为透明,参考API函数声明②
setbkmodecanvas.HandleTRANSPA
RENT
//设置字体
canvas.Font.Name ="宋体"
//设置字号
canvas.Font.Size=100
//将汉字“电脑报”设置为窗体形状路径
canvas.Textout1515"电脑报"
//结束设置路径,参考API函数声明③,完成设计思路(1)
endpathcanvas.handle
//将路径转换至区域,参考API函数声明④,完成设计思路(2)
rgn=pathtoregioncanvas.handle
//改变窗体形状,参考API函数声明⑤,完成设计思路(3)
setwindowrgnhandlergntrue
end
//鼠标按下的事件完成,进行设计思路(4)
procedure TForm1.FormMouseDownSender TObject Button TMouseButton Shift TShiftState X Y Integer
begin
//如用户单击右键,则结束程序运行
if button=mbright then
close
end

注:本文例子在Windows2000和Delphi7中测试通过。