文档章节

创建异形窗口[2]

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 118
阅读 2
收藏 0
本例效果图:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormDblClick(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Caption := '创建';
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  pts: array[0..3] of TPoint = (
    (x:10; y:40),
    (x:46; y:120),
    (x:82; y:40),
    (x:46; y:10)
  );
var
  rgn: HRGN;
begin
  rgn := CreatePolygonRgn(pts, Length(pts), 1); {1:ALTERNATE; 2:WINDING}
  SetWindowRgn(Handle, rgn, True);
end;

procedure TForm1.FormDblClick(Sender: TObject);
begin
  Close;
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/04/30/1177975.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
[win32] 实现窗口阴影的3种方法

windows开发中经常用DUI方式进行绘制,要自己处理窗口的全部绘制任务,包括阴影。那么就面临一个问题:阴影窗口是半透明窗口;这就意味着需要使用Layer窗口来绘制阴影,接下来就有了一个比较...

Michael_BJFU
2016/10/12
70
0
桌面 UI 框架 Lomox 新版更新,配置增强

修改点: 1.配置增强: [cfg] url=http://www.baidu.com //如果指定url则从url启动,如果没有启动则默认在自己resources 目录下面找 main.lx打包资源 或index.html 或者 main.html title=ht...

小东111
2014/04/26
3.8K
4
C#WinForm制作异形窗体/控件

制作异形窗体或控件的思路一般都是想办法生成一个region,然后设置给指定的窗口或控件。生成region的方法有很多,最常用的就是从一幅图片生成,把该图片中的透明色部分“抠”掉,剩下的部分作...

晨曦之光
2012/03/09
485
0
VC6.0使用 SetLayeredWindowAttributes函数

USER32.DLL SetLayeredWindowAttributes函数 SetLayeredWindowAttributes函数: hwnd是透明窗体的句柄, crKey为颜色值, bAlpha是透明度,取值范围是[0,255], dwFlags是透明方式,可以取两个...

IMGTN
2012/06/13
0
0
Lomox 0.7.0.4 更新版本发布,GUI 开发框架

Lomox 0.7.0.4 更新版本发布,更换 qt5 webkit 跑分 399。更新日志: lomox.dll 0.7.0.4 (KeoJam) 1.QT升级到QT5版本,由于QT4和QT5类库不同,不能再用QT4进行编译 2.bugfix 3.增加了系统托盘...

小东111
2015/06/01
3.7K
13

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之声明合并(二)

转发 TypeScript基础入门之声明合并(二) 声明合并 合并命名空间 与接口类似,同名的命名空间也将合并其成员。 由于名称空间同时创建了名称空间和值,因此我们需要了解它们是如何合并的。 要合...

durban
24分钟前
0
0
centos7系统安装sersync+rsync实现服务器同步功能

centos7系统安装sersync+rsync实现服务器同步功能 MQ_douer0人评论21708人阅读2017-04-08 15:49:03 一、为什么要用sersync+rsync架构? 1、sersync是基于inotify开发的,类似于inotify-tools...

linjin200
24分钟前
1
0
Windows下安装phpRedis扩展

Windows下安装phpRedis扩展 通常在做PHP程序测试时,会用到Redis。而一般测试都是在Windows下进行的,所以需要在Windows环境下安装phpRedis扩展,用以支持php对Redis的访问。 工具/原料 php调...

梦梦阁
29分钟前
1
0
HTTPConnectionPool(host:XX)Max retries exceeded with url 解决方法

HTTPConnectionPool(host:XX)Max retries exceeded with url 解决方法 在做双十一压测时,高并发调用requests时报错.问题解决方法 问题原因 是因为在每次数据传输前客户端要和服务器建立TCP...

_Change_
34分钟前
0
0
iosdfgh

复制 IO流 (***** 了解 *****) 1.1 概述 之前我们学习了 File 类,这个类中有很多操作文件本身的方法, File类它只能操作文件或文件夹,并不能去访问文件中的数据。真正保存数据的是文件,数据...

码农屌丝
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部