本人以前使用过bsBusinessSkin控件,感觉挺不错的,今天由于时间比较急,整理了一些代码,应该对你有用的,
在公共单元
public
procedure Compress;
procedure LoadSkin(FileName: String);
end;
清除界面:
procedure TCompressForm.bsSkinButton1Click(Sender: TObject);
begin
bsSkinData1.ClearSkin;
end;
当bsSkinDirectoryListBox1改变文件名时, bsSkinEdit1.Text 会跟着放变(jiag.zip)
procedure TCompressForm.bsSkinDirectoryListBox1Change(Sender: TObject);
begin
bsSkinEdit1.Text := bsSkinDirectoryListBox1.Items[bsSkinDirectoryListBox1.ItemIndex] + '.zip';
end;
procedure TCompressForm.bsSkinDirectoryListBox1CheckButtonClick(
Sender: TObject);
begin
bsSkinDirectoryListBox1.OpenCurrent;
end;
压缩文档
文件中要有zip32.dll和unzip32.dll,过程函数如下:
procedure TCompressForm.Compress;
var
S: TStrings;
i: Integer;
FN: String;
begin
if FileNameEdit.Text = '' then Exit;
S := TStringList.Create;
for i := 0 to bsSkinFileListBox1.Items.Count - 1 do
begin
FN := bsSkinDirectoryListBox1.Directory + '\' + bsSkinFileListBox1.Items[i];
S.Add(FN);
end;
if S.Count > 0
then
bsSkinZip1.ZipFiles(bsSkinDirectoryListBox1.Directory + '\' + FileNameEdit.Text, S);
S.Free;
end;
打开更多界面的函数:
procedure TCompressForm.LoadSkin;
var
Path: String;
begin
Path := ExtractFilePath(ParamStr(0));
Path := Path + 'temp\';
bsSkinUnZip1.UnZipToDir(FileName, Path);
bsSkinData1.LoadFromFile(Path + 'skin.ini');
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Path: String;
begin
Path := ExtractFilePath(ParamStr(0));
LoadSkin(Path + 'option.zip');
OpenDialog1.InitialDir := Path;
end;
其他
procedure TCompressForm.bsSkinDirectoryListBox1CheckButtonClick(
Sender: TObject);
begin
bsSkinDirectoryListBox1.OpenCurrent;
end;
更换界面:
控件:
bsCompressedStoredSkin1(根据你要的界面几个而定),bsSkinData1,bsBusinessSkinForm1,bsStoredSkin1,bsSkinOpenDialog1,bsSkinMessage1
procedure TForm1.bsSkinRadioGroup1Click(Sender: TObject);
begin
case bsSkinRadioGroup1.ItemIndex of
0: bsSkinData1.CompressedStoredSkin := BlueMorph;
1: bsSkinData1.CompressedStoredSkin := ExOS;
2: bsSkinData1.CompressedStoredSkin := Circuit;
3: bsSkinData1.CompressedStoredSkin := Modern;
4: bsSkinData1.CompressedStoredSkin := Corner;
end;
end;
或
{procedure TForm1.adfa1Click(Sender: TObject);
begin
bsSkinData1.CompressedStoredSkin := ExOS;
end;
打开更多界面风格
procedure TForm1.bsSkinButton1Click(Sender: TObject);
begin
if bsSkinOpenDialog1.Execute then
begin
bsSkinData1.LoadFromFile( bsSkinOpenDialog1.FileName);
bsSkinMessage1.MessageDlg('更换皮肤成功',(mtinformation),[mbOK],0);
end
else
bsSkinMessage1.MessageDlg('为什么不换呀?',(mtError),[mbOK],0);
end;
procedure TForm1.N21Click(Sender: TObject);
begin
bsSkinData1.CompressedStoredSkin := aa;
end;}
注意:
如果其他窗体要有Main窗体的效果
必须在其他窗体添加bsBusinessSkinForm1控件,
显示其他效果:
procedure TForm1.adfa1Click(Sender: TObject);
begin
bsSkinData1.StoredSkin:=ww;
// bsSkinData1.CompressedStoredSkin := ExOS;
end;
procedure TForm1.N21Click(Sender: TObject);
begin
bsSkinData1.StoredSkin:=w;
//bsSkinData1.CompressedStoredSkin := aa;
end;
在公共单元
public
procedure Compress;
procedure LoadSkin(FileName: String);
end;
清除界面:
procedure TCompressForm.bsSkinButton1Click(Sender: TObject);
begin
bsSkinData1.ClearSkin;
end;
当bsSkinDirectoryListBox1改变文件名时, bsSkinEdit1.Text 会跟着放变(jiag.zip)
procedure TCompressForm.bsSkinDirectoryListBox1Change(Sender: TObject);
begin
bsSkinEdit1.Text := bsSkinDirectoryListBox1.Items[bsSkinDirectoryListBox1.ItemIndex] + '.zip';
end;
procedure TCompressForm.bsSkinDirectoryListBox1CheckButtonClick(
Sender: TObject);
begin
bsSkinDirectoryListBox1.OpenCurrent;
end;
压缩文档
文件中要有zip32.dll和unzip32.dll,过程函数如下:
procedure TCompressForm.Compress;
var
S: TStrings;
i: Integer;
FN: String;
begin
if FileNameEdit.Text = '' then Exit;
S := TStringList.Create;
for i := 0 to bsSkinFileListBox1.Items.Count - 1 do
begin
FN := bsSkinDirectoryListBox1.Directory + '\' + bsSkinFileListBox1.Items[i];
S.Add(FN);
end;
if S.Count > 0
then
bsSkinZip1.ZipFiles(bsSkinDirectoryListBox1.Directory + '\' + FileNameEdit.Text, S);
S.Free;
end;
打开更多界面的函数:
procedure TCompressForm.LoadSkin;
var
Path: String;
begin
Path := ExtractFilePath(ParamStr(0));
Path := Path + 'temp\';
bsSkinUnZip1.UnZipToDir(FileName, Path);
bsSkinData1.LoadFromFile(Path + 'skin.ini');
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Path: String;
begin
Path := ExtractFilePath(ParamStr(0));
LoadSkin(Path + 'option.zip');
OpenDialog1.InitialDir := Path;
end;
其他
procedure TCompressForm.bsSkinDirectoryListBox1CheckButtonClick(
Sender: TObject);
begin
bsSkinDirectoryListBox1.OpenCurrent;
end;
更换界面:
控件:
bsCompressedStoredSkin1(根据你要的界面几个而定),bsSkinData1,bsBusinessSkinForm1,bsStoredSkin1,bsSkinOpenDialog1,bsSkinMessage1
procedure TForm1.bsSkinRadioGroup1Click(Sender: TObject);
begin
case bsSkinRadioGroup1.ItemIndex of
0: bsSkinData1.CompressedStoredSkin := BlueMorph;
1: bsSkinData1.CompressedStoredSkin := ExOS;
2: bsSkinData1.CompressedStoredSkin := Circuit;
3: bsSkinData1.CompressedStoredSkin := Modern;
4: bsSkinData1.CompressedStoredSkin := Corner;
end;
end;
或
{procedure TForm1.adfa1Click(Sender: TObject);
begin
bsSkinData1.CompressedStoredSkin := ExOS;
end;
打开更多界面风格
procedure TForm1.bsSkinButton1Click(Sender: TObject);
begin
if bsSkinOpenDialog1.Execute then
begin
bsSkinData1.LoadFromFile( bsSkinOpenDialog1.FileName);
bsSkinMessage1.MessageDlg('更换皮肤成功',(mtinformation),[mbOK],0);
end
else
bsSkinMessage1.MessageDlg('为什么不换呀?',(mtError),[mbOK],0);
end;
procedure TForm1.N21Click(Sender: TObject);
begin
bsSkinData1.CompressedStoredSkin := aa;
end;}
注意:
如果其他窗体要有Main窗体的效果
必须在其他窗体添加bsBusinessSkinForm1控件,
显示其他效果:
procedure TForm1.adfa1Click(Sender: TObject);
begin
bsSkinData1.StoredSkin:=ww;
// bsSkinData1.CompressedStoredSkin := ExOS;
end;
procedure TForm1.N21Click(Sender: TObject);
begin
bsSkinData1.StoredSkin:=w;
//bsSkinData1.CompressedStoredSkin := aa;
end;