摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi窗体文章
◎→ 本类最新
DELPHI动态生成控件
Delphi编程中创建一个启动闪现窗
在win95,win98下实现半透明的窗口
拖动无标题栏窗体的方法
用Delphi 控制窗体的大小
使MDI窗口有一个背景图象或使它平
软件启动画面中启动状态的显示
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
delphi的面向对象之路1
Delphi设计形象的动态三维拼图
Delphi使用VB6编写的ActiveX控件
Delphi下实现QQ窗体自动隐藏
DELPHI中DBGrid中行的定位及着色
不用标题栏也移动窗体的小技巧
开发工具大比拼之Visual C++ VS

Delphi 4.0换肤


日期:2008-10-20 22:06:14    来源:
   
 ·delphi的面向对象之路1

Delphi 4.0换肤


湖南刘炼

    现在软件的界面设计很流行“换肤”(SKIN),例如ICQ、Winamp、超级解霸等等。这种技术  
的应用可以最大程度的彰显用户的个性,所以一经推出就大受欢迎。其实这种技术实现起来很简  
单,下面就是我用Delphi 4.0换肤的例子。   

  首先,在窗体上放一个Image控件,一个Button控件和一个OpenDialog控件。   

  然后,修改属性。将窗体的Caption属性改为Test Skin Program;将Image控件的Align  
属性改为alClient,将Stretch属性改为True;将Button控件的Caption属性改为Skin。其余属性不  
变。   

  最后,输入代码吧!   

  unit mainform;   

  interface   

  uses   

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

  StdCtrls, Buttons, ExtCtrls,inifiles, jpeg, Menus;   

  //一定要将inifiles单元加入uses   

  type   

  TForm1 = class(TForm)   

  Image1: TImage;   

  OpenDialog1: TOpenDialog;   

  Button1: TButton;   

  procedure FormCreate(Sender: TObject);   

  procedure Button1Click(Sender: TObject);   

  private   

  { Private declarations }   

  public   

  { Public declarations }   

  end;   

  var   

  Form1: TForm1;   

  implementation   

  {$R*.DFM}   

  procedure TForm1.FormCreate(Sender: TObject);   

  Var   

  SkinINI : Tinifile;   

  SkinPicture : String;   

  begin   

  SkinINI := TiniFile.Create('c:\my documents\skin.ini');   

  SkinPicture:=SkinINI.ReadString('Interface','skin','');   

  //将“皮肤”的图片信息存储在SKIN.INI文件中。当然,你还可以将更多的信息存进该文件中。   

  //例如:SKIN.INI   

  //[interface]   

  // skin = c:\my documents\mylove.jpg   

  IF SkinPicture<>'' then   

  Begin   

  try   

  Image1.Picture.LoadFromFile(SkinPicture);   

  except   

  end;   

  End;   

  SkinINI.Free;   

  end;   

  procedure TForm1.Button1Click(Sender: TObject);   

  Var   

  SkinINI : Tinifile;   

  SkinPicture : String;   

  Success : Boolean; //指示换肤是否成功   

  begin   

  SkinINI := TiniFile.Create('c:\my documents\skin.ini');   

  SkinPicture:=SkinINI.ReadString('Interface','skin','');   

  OpenDialog1.Filter:='All Image File(*.jpg;*.jpeg;*.bmp;*.ico)|*.jpg;*.jpeg;*.bmp;*.ico|'+   

  'Bitmaps(*.bmp)|*.bmp|'+   

  'Jpeg Image File(*.jpg;*.jpeg)|*.jpeg;*.jpg|'+   

  'Icons(*.ico)|*.ico';   

  Success:=True;   

  IF OpenDialog1.Execute then   

  Begin   

  try   
 Image1.Picture.LoadFromFile(OpenDialog1.Filename);   

  except   

  Application.MessageBox('This file is not load!','Error!',MB_OK);   

  Success:=False;   

  end;   

  IF Success then SkinINI.WriteString('interface','skin',OpenDialog1.Filename);   

  //若换肤成功,将图片信息存进skin.ini文件中   

  End;   

  SkinINI.Free;   

  end;   

  end.   

  怎么样,换肤简单吧(什么东西都是“难的不会,会的不难”)!你还可以在此基础上继续向窗  
体上添加各种控件。因为这只是一个示例,所以就没有加那些。另外,严格得说,“换肤”指令应该  
在菜单中(即MainMenu控件中,其实也很简单)。但为了没有“赚稿酬”之嫌,所以就用一个Button  
应付了。

 [1]

Delphi设计形象的动态三维拼图

--->ShellBrowser For C++ & Delphi V5.02
--->Delphi学习宝典 V2.0
--->Delphi小助手 V1.04
--->GB/BIG5简繁转换器 V3.1.0 Delphi工程版
--->AutoUpgrader Pro for BCB and Delphi v4.6.4
Tags:  Delphi 换肤

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们