本人最近在搞成绩管理系统,想把界面做漂亮点,从网上下载了bsBusinessSkin控件,不知道怎么如何编代码,请高手解决!!

解决方案 »

  1.   

    本人以前使用过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;