Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)aaapublished in(发表于) 2014/7/19 0:11:21 Delphi建立字体形状窗体
Delphi建立字体形状窗体实例说明大家都见过不规则的窗体吧,那么如何制作一个文章形的窗体呢?文字形状窗体一般应用在屏幕提示中,如收款机屏幕。本例运行效果如图1.22所示。1.22字体形状窗体技术要点本实例使用用了定义区域函数和设置区域函数。函数说明如下:BeginPath函数调用启动一个路径分支,在这个命令后,执行的GDI绘图命令会自动成为路径的一部分。EndPath函数用于结束定义路径;BeginPath函数和它之间发生的所有绘图操作都将在指定设备场景的路径中生效。PathtoRegion函数调用将当前选定的路径转换到指定区域中。SetWindowRgn函数功能为设置区域为点(x1,y1)(矩形左上角坐标)和(x2,y2)(矩形右下角坐标)描述的矩形。SetWindowRgn函数原型如下:int SetWinRgn(HWND hWnd, // 该区域将被设置为指定矩形HRGNhRgn , // 矩形左上角坐标BOOLbRedraw,// 矩形右下角坐标);实现过程1.新建一个工程,该工程会自动建立一个主窗体,默认命名为Form1.2.程序代码如下:procedure TForm1.c_d(var msg: TWMNCHITTEST);begininherited;if msg.Result=htclient thenmsg.Result:= htcaption;end;procedure TForm1.FormCreate(Sender: TObject);var rgn:HRGN;beginForm1.Color:=clRed;BeginPath(Canvas.Handle);SetBKMode(Canvas.Handle,TRANSPARENT);Canvas.Font.Name:='宋体';Canvas.Font.Size:=150;Canvas.TextOut(0,0,'字体窗体');EndPath(Canvas.Handle);rgn:=PathToRegion(Canvas.Handle);SetWindowRgn(Handle,rgn,true);end;end.
赞