| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> delphi >> 用DELPHI实现透明以及半透明窗体 yong DELPHI shi xian tou ming yi ji ban tou ming chuang ti
 

用DELPHI实现透明以及半透明窗体

2006-06-07 04:32:35 编辑來源:互联网 繁體版 评论
 
 
本文为【用DELPHI实现透明以及半透明窗体】的汉字拼音对照版显示拼音
  zaiQQzhongwokeyitiaojiemianbandetoumingduruguowomenzijibianchengyinggairuheshixianne

   yibantoumingchuangti

   zaiwindows2000yijihouxuchanpinzhongxiazengjialeyixieAPI,keyiqingyideshixianbantoumingdechuangtiyuanchengxuruxia

  interface

  uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

  const//dingyichangliang

   WS_EX_LAYERED = $80000;

   AC_SRC_OVER = $0;

   AC_SRC_ALPHA = $1;

   AC_SRC_NO_PREMULT_ALPHA = $1;

   AC_SRC_NO_ALPHA = $2;

   AC_DST_NO_PREMULT_ALPHA = $10;

   AC_DST_NO_ALPHA = $20;

   LWA_COLORKEY = $1;

   LWA_ALPHA = $2;

   ULW_COLORKEY = $1

   ULW_ALPHA = $2

   ULW_OPAQUE = $4

  type

   TForm1 = class(TForm)

   procedure FormCreate(Sender: TObject);

   private

   { Private declarations }

   public

   { Public declarations }

   end;

  function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; stdcall; external user32;//hanshushengming

  var

  Form1: TForm1;

  implementation

  {$R *.DFM}

  procedure TForm1.FormCreate(Sender: TObject);

  var l:longint;

  begin

   l:=getWindowLong(Handle, GWL_EXSTYLE);

   l := l Or WS_EX_LAYERED;

   SetWindowLong (handle, GWL_EXSTYLE, l);

   SetLayeredWindowAttributes (handle, 0, 180, LWA_ALPHA);

  //diergeshenshushizhidingtoumingyanse

  //diergeshenshuwei0ze使shiyongdisigeshenshushezhialphazhicong0dao255

  end;

  end.

   er toumingchuangtideshixian

   jiangyigeFORMbianchengtoumingdeshizhixingshouduanjiushilanjieCMEraseBkgndxiaoxi

  unit Utransform; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

  type TForm1 = class(TForm)

   private { Private declarations }

   public { Public declarations }

   PROCEDURE CMEraseBkgnd(var Message:TWMEraseBkgnd);Message WM_ERASEBKGND;

  end;

  var Form1: TForm1;

  implementation

  {$R *.DFM}

  procedure TForm1.CMEraseBkgnd(var Message: TWMEraseBkgnd);

  begin

  brush.style:=bsClear;

  end;

  procedure TForm1.FormCreate(Sender: TObject);

  begin

   Form1.Brush.Style := bsClear;//ruguozhilanjiexiaoximeiyouzhelideshezhichuangneidebiaotilanyiyanghuixianshi Form1.BorderStyle := bsNone

  end;

  procedure TForm1.BitBtn1Click(Sender: TObject);

  begin

   close;

  end;原文】【拼音
 
 
 
上一篇《在DELPHI中获得磁盘容量》
下一篇《在DELPHI中编程生成ACCESS数据库文件并创建指向此连接的ODBC数据源》
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
在QQ中,我可以调节面板的透明度。如果我们自己编程,应该如何实现呢? (一)半透明窗体 在windows2000以及后续产品中下增加了一些API,可以轻易的实现半透明的窗体,源程序如下: interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; const//定义常量 WS_EX_LAYERED = $80000; AC_SRC_OVER = $0; AC_SRC_ALPHA = $1; AC_SRC_NO_PREMULT_ALPHA = $1; AC_SRC_NO_ALPHA = $2; AC_DST_NO_PREMULT_ALPHA = $10; AC_DST_NO_ALPHA = $20; LWA_COLORKEY = $1; LWA_ALPHA = $2; ULW_COLORKEY = $1 ULW_ALPHA = $2 ULW_OPAQUE = $4 type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; stdcall; external user32;//函数声明 var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); var l:longint; begin l:=getWindowLong(Handle, GWL_EXSTYLE); l := l Or WS_EX_LAYERED; SetWindowLong (handle, GWL_EXSTYLE, l); SetLayeredWindowAttributes (handle, 0, 180, LWA_ALPHA); //第二个参数是指定透明颜色 //第二个参数为0则使用第四个参数设置alpha值,从0到255 end; end. (二) 透明窗体的实现 将一个FORM变成透明的实质性手段就是拦截CMEraseBkgnd消息。 unit Utransform; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } PROCEDURE CMEraseBkgnd(var Message:TWMEraseBkgnd);Message WM_ERASEBKGND; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.CMEraseBkgnd(var Message: TWMEraseBkgnd); begin brush.style:=bsClear; end; procedure TForm1.FormCreate(Sender: TObject); begin Form1.Brush.Style := bsClear;//如果只拦截消息,没有这里的设置,窗内的标题栏一样会显示 Form1.BorderStyle := bsNone end; procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end;
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
情人节的清纯女生(9)
情人节的清纯女生(8)
情人节的清纯女生(7)
情人节的清纯女生(6)
山东蓬莱海边组照
一探哲蚌 II
一探哲蚌 III
古长城的一角
 
>>返回首页<<
 
 
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有