⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 实现换肤 (2000年12月28日).txt

📁 自己对DELPHI学习的一点体会
💻 TXT
字号:
实现换肤 (2000年12月28日) 

网友更新  分类:图形图象   作者: 飘(推荐)  推荐:飘   阅读次数:574  
(http://www.codesky.net)  

--------------------------------------------------------------------------------
现在软件的界面设计很流行“换肤”(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. 
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -