网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
在win95,win98下实现半透明的窗口
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

取窗体下背景图,后将各点的颜色的RGB各取一半。

unit JtoCXPAuto;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, FORMs,
Dialogs, ExtCtrls, ShellApi;

type
TAutoFORM = class(TFORM)
   BackImg: TImage;
   procedure FORMShow(Sender: TObject);
   procedure BackImgMouseUp(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure BackImgMouseMove(Sender: TObject; Shift: TShiftState; X,
     Y: Integer);
private
   { Private declarations }
public
   { Public declarations }
end;

var
AutoFORM: TAutoFORM;
EMailRect:TRect;
implementation

uses JtoCXPMain,JtoCXPPubVar;

{$R *.dfm}

procedure TAutoFORM.FORMShow(Sender: TObject);
var
  ScreenDc,DestDc:Hdc;
  BHandle:THandle;
  X,Y:integer;
  Color:TColor;
  Color1,Color2,Color3:Byte;
  FORMRgn:Hrgn;
begin
  FORMRgn:=CreateRoundRectRgn(0,0,Width,Height,15,15);
  SetWindowRgn(Handle,FORMRgn,True);

  EnableWindow(MainFORM.Handle,False);
  ScreenDc:=CreateDc(''DISPLAY'',nil,nil,nil);
  DestDc:=CreateCompatibleDc(ScreenDc);
  BHandle:=CReateCompatibleBitmap(ScreenDc,Width,Height);
  SelectObject(DestDc,Bhandle);
  BitBlt(DestDc,0,0,Width,Height,ScreenDc,MainFORM.Left+(MainFORM.Width -Width)div 2,
     MainFORM.Top +(MainFORM.Height -Height)div 2,SRCCOPY);
  for x:=0 to Width-1 do begin
     for y:=0 to Height-1 do begin
        Color:=GetPixel(DestDc,x,y);
        Color1:=GetRvalue(Color) div 3;
        Color2:=GetGvalue(Color) div 3;
        Color3:=GetBvalue(Color) div 3;
        Color:=RGB(Color1,Color2,Color3);
        SetPixel(DestDC,x,y,Color);
     end;
  end;
  BitBlt(BackImg.Canvas.Handle,0,0,Width,Height,DestDC ,0,0,SRCCOPY);
  DeleteDc (DestDc);
  ReleaseDc (Bhandle,ScreenDc);
  with BackImg.Canvas do begin
     Moveto(0,0);
     Pen.Color :=rgb(192,192,192);
     Lineto(BackImg.Width -1,0);
//      Pen.Color :=rgb(64,64,64);
     Lineto(BackImg.Width -1,backImg.Height -1);
     Lineto(0,BackImg.Height-1);
     Pen.Color :=rgb(192,192,192);
     Lineto(0,0);

     Font.Size :=16;
     Font.Color :=RGB(255,255,255);
&

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号