home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Shareware / Programare / skincraft / SkinCrafter_v1.4.12_Demo.msi / _49E29CB9A65AABBF653C1037E1AA74B6 / _FCC4A66B2D5940489DF46D6F04B5E451 < prev    next >
Encoding:
Text File  |  2003-09-08  |  3.7 KB  |  156 lines

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Menus, StdCtrls, ComCtrls, ShellAPI, ShlObj, SKINCRAFTERLib_TLB, ToolWin, ExtCtrls,
  8.   FileCtrl;
  9.  
  10. type
  11.   TForm1 = class(TForm)
  12.     Button1: TButton;
  13.     MainMenu1: TMainMenu;
  14.     File1: TMenuItem;
  15.     Open1: TMenuItem;
  16.     Help1: TMenuItem;
  17.     About1: TMenuItem;
  18.     Edit1: TEdit;
  19.     Memo1: TMemo;
  20.     GroupBox1: TGroupBox;
  21.     CheckBox1: TCheckBox;
  22.     RadioButton1: TRadioButton;
  23.     CheckBox2: TCheckBox;
  24.     RadioButton2: TRadioButton;
  25.     ListBox1: TListBox;
  26.     ScrollBar1: TScrollBar;
  27.     ProgressBar1: TProgressBar;
  28.     ScrollBar2: TScrollBar;
  29.     OpenDialog1: TOpenDialog;
  30.     ComboBox1: TComboBox;
  31.     ComboBox2: TComboBox;
  32.     UpDown1: TUpDown;
  33.     TreeView1: TTreeView;
  34.     ListView1: TListView;
  35.     UpDown2: TUpDown;
  36.     Exit1: TMenuItem;
  37.     Button2: TButton;
  38.     TabControl1: TTabControl;
  39.     Edit2: TEdit;
  40.     Editt: TGroupBox;
  41.     Slider: TGroupBox;
  42.     TrackBar1: TTrackBar;
  43.     Image1: TImage;
  44.     ComboBox3: TComboBox;
  45.     GroupBox2: TGroupBox;
  46.     Button3: TButton;
  47.     CheckBox3: TCheckBox;
  48.     FileListBox1: TFileListBox;
  49.     procedure Open1Click(Sender: TObject);
  50.     procedure Exit1Click(Sender: TObject);
  51.     procedure Button1Click(Sender: TObject);
  52.     procedure Button2Click(Sender: TObject);
  53.     procedure About1Click(Sender: TObject);
  54.     procedure Button3Click(Sender: TObject);
  55.     procedure OnChangeItem(Sender: TObject);
  56.   private
  57.     { Private declarations }
  58.   public
  59.     { Public declarations }
  60.     SkinNames : array[0..MAX_PATH] of string;
  61.   end;
  62.  
  63. var
  64.   Form1: TForm1;
  65.   ISkin:ISCSkin;
  66.  
  67. implementation
  68.  
  69. {$R *.DFM}
  70.  
  71. procedure TForm1.Open1Click(Sender: TObject);
  72. begin
  73.     if OpenDialog1.Execute then
  74.     begin
  75.        ISkin.LoadSkinFromFile(OpenDialog1.FileName);
  76.        ISkin.ApplySkin;
  77.        ISKin.UpdateControl(0);
  78.     end
  79. end;
  80.  
  81. procedure TForm1.Exit1Click(Sender: TObject);
  82. begin
  83.      Application.Terminate;
  84. end;
  85.  
  86. procedure TForm1.Button1Click(Sender: TObject);
  87. begin
  88.      ISkin.RemoveSkin;
  89. end;
  90.  
  91. procedure TForm1.Button2Click(Sender: TObject);
  92. begin
  93.      ISkin.ApplySkin;
  94. end;
  95.  
  96. procedure TForm1.About1Click(Sender: TObject);
  97. begin
  98.      ISKin.AboutSkinCrafter;
  99. end;
  100.  
  101. procedure TForm1.Button3Click(Sender: TObject);
  102. var
  103.   i : integer;
  104.   TitleName : string;
  105.   SkinName,Email,Author,Date : WideString;
  106.   lpItemID : PItemIDList;
  107.   BrowseInfo : TBrowseInfo;
  108.   DisplayName : array[0..MAX_PATH] of char;
  109.   TempPath : array[0..MAX_PATH] of char;
  110. begin
  111.   FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
  112.   BrowseInfo.hwndOwner := Form1.Handle;
  113.   BrowseInfo.pszDisplayName := @DisplayName;
  114.   TitleName := 'Please specify a directory';
  115.   BrowseInfo.lpszTitle := PChar(TitleName);
  116.   BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
  117.   lpItemID := SHBrowseForFolder(BrowseInfo);
  118.   if lpItemId <> nil then begin
  119.     SHGetPathFromIDList(lpItemID, TempPath);
  120.     GlobalFreePtr(lpItemID);
  121.  
  122.     FileListBox1.ApplyFilePath(TempPath+'\\*.skf');
  123.     ComboBox3.Items.Clear;
  124.  
  125.     for i := 0 to FileListBox1.Items.Count-1 do
  126.     begin
  127.         ISKin.GetSkinCopyRight(FileListBox1.Directory + '\\' + FileListBox1.Items.Strings[i],
  128.                 SkinName,Author,Date,Email);
  129.  
  130.         ComboBox3.Items.Add(SkinName);
  131.         SkinNames[i] := FileListBox1.Directory + '\\' + FileListBox1.Items.Strings[i];
  132.     end;
  133.     ComboBox3.ItemIndex := 0;
  134.     OnChangeItem(ComboBox3);
  135.   end;
  136. end;
  137.  
  138. procedure TForm1.OnChangeItem(Sender: TObject);
  139. begin
  140.      ISkin.LoadSkinFromFile(SkinNames[ComboBox3.ItemIndex]);
  141.      ISkin.ApplySkin;
  142.      ISKin.UpdateControl(0);
  143. end;
  144.  
  145. end.
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.