打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
创建异形窗口[5]
本例效果图:


unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    procedure FormCreate(Sender: TObject);    procedure FormPaint(Sender: TObject);    procedure Button1Click(Sender: TObject);    procedure FormDblClick(Sender: TObject);    procedure FormDestroy(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}var  bit: TBitmap;procedure TForm1.FormCreate(Sender: TObject);begin  bit := TBitmap.Create;  bit.LoadFromFile('c:\temp\test.bmp');end;procedure TForm1.FormPaint(Sender: TObject);begin  Canvas.Draw(0, 0, bit);end;procedure TForm1.Button1Click(Sender: TObject);var  rgn1,rgn2: HRGN;  x,y,w,h: Integer;begin  w := bit.Width;  h := bit.Height;  rgn1 := CreateRectRgn(0, 0, w, h);  for x := 0 to w - 1 do    for y := 0 to h - 1 do      if bit.Canvas.Pixels[x,y] = clBlack then      begin        rgn2 := CreateRectRgn(x, y, x+1, y+1);        CombineRgn(rgn1, rgn1, rgn2, RGN_XOR);        DeleteObject(rgn2);      end;  SetWindowRgn(Handle, rgn1, True);  Self.BorderStyle := bsNone;  Self.Width := w;  Self.Height := h;end;procedure TForm1.FormDblClick(Sender: TObject);begin  Close;end;procedure TForm1.FormDestroy(Sender: TObject);begin  bit.Free;end;end.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Delphi的图形处理(一)
Delphi 中使长循环有响应
Cookies 修改
delphi多线程编程
DelPhi2007 中 使用Indy 的TCP连接教程
Delphi中在ComboBox中添加数据库中字段
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服