首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

D7 窗体美化,念改变窗体的形状,求解…

2012-12-15 
D7 窗体美化,想改变窗体的形状,求解……想实现一个这样的对话框改怎么做呢[最优解释]unit Unit1interfaceus

D7 窗体美化,想改变窗体的形状,求解……
想实现一个这样的对话框改怎么做呢

[最优解释]

unit Unit1;

interface


uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs,
  Menus, ExtCtrls, IdHTTP;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure ImageDbClick(Sender: TObject);
    procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure N1Click(Sender: TObject);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses  dxGDIPlusClasses;//上面代码漏了引用这单元(DevExpress组件的单元)


procedure TForm1.FormCreate(Sender: TObject);
var ms:TMemoryStream;
    idhttp:TIdhttp;
    image:TImage;
    PopupMenu1:TPopupMenu;
    N1:TMenuItem;
begin
  ms:=TMemoryStream.Create;
  idhttp:=TIdhttp.Create(self);
  try
    idhttp.Get('http://attimg.dospy.com/img/day_101114/20101114_ccb5b082f312a7e41ce9ea7zIX377777.png',ms);
    try
      ms.Position:=0;
      ms.SaveToFile('c:\tmp.png');
      image:=TImage.Create(self);
      try
        image.Parent:=Form1;
        image.Picture.LoadFromFile('c:\tmp.png');
        image.AutoSize:=true;
        image.OnDblClick:=ImageDbClick;
        image.OnMouseDown:=ImageMouseDown;
        AutoSize:=true;
        Color:=clSkyBlue;
        TransparentColor:=true;
        TransparentColorValue:=clSkyBlue;
        BorderStyle:=bsNone;
        PopupMenu1:=TPopupMenu.Create(self);
        N1:=TMenuItem.Create(PopupMenu1);
        popupmenu1.Items.Add(N1);
        N1.Caption:='关闭';
        N1.OnClick:=N1Click;
        PopupMenu:=PopupMenu1;
      except
        image.Free;
      end;
    finally
      ms.Free;
    end;
  finally
    idhttp.Free;
  end;
end;

procedure TForm1.ImageDbClick(Sender: TObject);//响应双击
begin
  showmessage('Hi');
end;

procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;//使窗体可拖动


  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  Perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TForm1.N1Click(Sender: TObject);//右键菜单
begin
  Close;
end;

end.


[其他解释]
http://www.wzsky.net/html/Program/Delphi/43569.html
[其他解释]
这个到处都是
随便百度一下"delphi 异形窗体"
[其他解释]
新建工程、双击窗体后,将下列代码覆盖你的unit1:
unit Unit1;

interface

uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs,
  Menus, ExtCtrls, IdHTTP;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure ImageDbClick(Sender: TObject);
    procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure N1Click(Sender: TObject);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var ms:TMemoryStream;
    idhttp:TIdhttp;
    image:TImage;
    PopupMenu1:TPopupMenu;
    N1:TMenuItem;
begin
  ms:=TMemoryStream.Create;
  idhttp:=TIdhttp.Create(self);
  try
    idhttp.Get('http://attimg.dospy.com/img/day_101114/20101114_ccb5b082f312a7e41ce9ea7zIX377777.png',ms);
    try
      ms.Position:=0;
      ms.SaveToFile('c:\tmp.png');
      image:=TImage.Create(self);
      try
        image.Parent:=Form1;
        image.Picture.LoadFromFile('c:\tmp.png');
        image.AutoSize:=true;
        image.OnDblClick:=ImageDbClick;
        image.OnMouseDown:=ImageMouseDown;
        AutoSize:=true;
        Color:=clSkyBlue;
        TransparentColor:=true;
        TransparentColorValue:=clSkyBlue;
        BorderStyle:=bsNone;
        PopupMenu1:=TPopupMenu.Create(self);
        N1:=TMenuItem.Create(PopupMenu1);
        popupmenu1.Items.Add(N1);
        N1.Caption:='关闭';
        N1.OnClick:=N1Click;
        PopupMenu:=PopupMenu1;
      except
        image.Free;


      end;
    finally
      ms.Free;
    end;
  finally
    idhttp.Free;
  end;
end;

procedure TForm1.ImageDbClick(Sender: TObject);//响应双击
begin
  showmessage('Hi');
end;

procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;//使窗体可拖动
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  Perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TForm1.N1Click(Sender: TObject);//右键菜单
begin
  Close;
end;

end.


[其他解释]
楼上你是在干嘛。。楼主是要异型窗体耶。。
[其他解释]
引用:
楼上你是在干嘛。。楼主是要异型窗体耶。。

难道我这代码的窗体不是异形的?
[其他解释]
DevExpress 组件怎么安装?不是太清除,可以说下吗
[其他解释]
网上有很多DevExpress 下载不确定装哪个版本的
[其他解释]
去掉
uses  dxGDIPlusClasses;
这句后也能编译就是运行提示未知的图片类型 png
[其他解释]
6.52版就有了,找不到就找我吧
[其他解释]
还请大侠发个下载链接
[其他解释]
我的邮箱是845454697@qq.com
[其他解释]
已收到,运行OK,感谢 广州仔 大侠的教诲

热点排行