delphi xe2之后自带了皮肤,已经满足基本的界面美化需求,以下是调用方法:
引用Vcl.Themes单元 私有变量 vThemes: string; 窗口创建事件 var s: string; list: THashedStringList; vThemes := vIni.ReadString('Configure', 'Skins', 'Luna'); list := THashedStringList.Create; try list.Sorted := true; list.AddStrings(TStyleManager.StyleNames); for s in list do if (s <> 'Luna') and (s <> 'Windows') then begin vItem := TMenuItem.Create(nil); vItem.Caption := s; vItem.OnClick := V1Click; N12.Add(vItem); end; finally list.Free; end; for i := 0 to N12.Count - 1 do N12.Items[i].Checked := N12.Items[i].Caption = vThemes; TStyleManager.SetStyle(vThemes); 换肤菜单: procedure TfrmMain.V1Click(Sender: TObject); var i: integer; begin vThemes := TMenuItem(Sender).Caption; for i := 0 to N12.Count - 1 do N12.Items[i].Checked := N12.Items[i].Caption = vThemes; TStyleManager.SetStyle(vThemes); vIni.WriteString('Configure', 'Skins', vThemes); end; 加载文件方法 var dir, fileName, styleName: string; // 样式文件 *.vsf dir := GetEnvironmentVariable('Delphi') + '\Redist\styles\vcl'; for fileName in TDirectory.GetFiles(dir, '*.vsf') do TStyleManager.LoadFromFile(fileName); for styleName in TStyleManager.StyleNames do ListBox1.Items.Add(styleName);