home *** CD-ROM | disk | FTP | other *** search
/ Chip: Shareware for Win 95 / Chip-Shareware-Win95.bin / ostatni / delphi / delphi2 / wowsrc.exe / SELECTSS.PAS < prev    next >
Pascal/Delphi Source File  |  1996-03-28  |  5KB  |  150 lines

  1. unit Selectss;
  2.  
  3. interface
  4.  
  5. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, StdCtrls,
  6.      Buttons, IniFiles, Messages, SysUtils, Spin;
  7.  
  8. type
  9.   TSsSelect = class(TForm)
  10.     SsList: TListBox;
  11.     Test: TBitBtn;
  12.     Cancel: TBitBtn;
  13.     Setup: TBitBtn;
  14.     Label1: TLabel;
  15.     CurSave: TEdit;
  16.     Label2: TLabel;
  17.     Label4: TLabel;
  18.     Delay: TSpinEdit;
  19.     procedure TestClick(Sender: TObject);
  20.     procedure SetupClick(Sender: TObject);
  21.     procedure CancelClick(Sender: TObject);
  22.     procedure FormCreate(Sender: TObject);
  23.     procedure FormActivate(Sender: TObject);
  24.     procedure SsListClick(Sender: TObject);
  25.   private
  26.     Loading : Boolean;
  27.   public
  28.     { Public declarations }
  29.   end;
  30.  
  31. var
  32.   SsSelect: TSsSelect;
  33.  
  34. implementation
  35.  
  36. {$R *.DFM}
  37.  
  38. Uses
  39.   Globals,
  40.   SSave,
  41.   MsgDefs,
  42.   BallDefs,
  43.   SpotDefs,
  44.   PicDlg;
  45.  
  46.  
  47. procedure TSsSelect.TestClick(Sender: TObject);
  48. begin
  49.   TestMode := True;                                        { We are Testing }
  50.   Scrn := TScrn.Create(Application);
  51.   Scrn.LoadingApp := True;                                    { Loading Flag }
  52.   Scrn.Left := -1000;
  53.   Scrn.Top := -100;
  54.   Scrn.Width := 0;
  55.   Scrn.Height := 0;                                        { Hide the Screen }
  56.   Scrn.ShowModal;                                          { Show it }
  57.   Scrn.Free;
  58.   SetFocus;                                                { Reset focus }
  59.   TestMode := False;                                       { reset Test Mode }
  60. end;
  61.  
  62. procedure TSsSelect.SetupClick(Sender: TObject);           { Want to set a Screen saver up }
  63. begin
  64.   Case SsList.ItemIndex of                                 { Work on Choice }
  65.     1 : Begin
  66.         SetupMsg := TSetupMsg.Create(Application);
  67.         SetUpMsg.ShowModal;
  68.         SetUpMsg.Free;
  69.         End;
  70.     2 : Begin
  71.         SetupBalls := TSetupBalls.Create(Application);
  72.         SetUpBalls.ShowModal;
  73.         SetUpBalls.Free;
  74.         end;
  75.     3 : Begin
  76.         SetupSpot := TSetupSpot.Create(Application);
  77.         SetupSpot.ShowModal;
  78.         SetupSpot.Free;
  79.         end;
  80.     4 : Begin
  81.         BitmapDlg := TBitmapDlg.Create(Application);
  82.         BitmapDlg.ShowModal;
  83.         BitmapDlg.Free;
  84.         end;
  85.     end;
  86. end;
  87.  
  88. procedure TSsSelect.CancelClick(Sender: TObject);
  89. Var
  90.   Ini : TiniFile;
  91. begin
  92.   Ini := TIniFile.Create('Wow.Ini');                   { Create the Ini file }
  93.   Ini.WriteInteger('Wow', 'SsType',
  94.                     SsList.ItemIndex);                     { Write the current saver }
  95.   CurSave.Text := SsList.Items[SsType];                    { Get the Current saver }
  96.   SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,
  97.                        Delay.Value * 60,
  98.                        nil,
  99.                        SPIF_UPDATEINIFILE +
  100.                        SPIF_SENDWININICHANGE);             { Update SS delay where ever it lives }
  101.   if SsType = 0 then                                       { If NO screen saver }
  102.     SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,
  103.                        0,
  104.                        nil,
  105.                        SPIF_UPDATEINIFILE +
  106.                        SPIF_SENDWININICHANGE);            { Set in registry }
  107.  
  108.   Close;                                                  { Bye Bye }
  109. end;
  110.  
  111. procedure TSsSelect.FormCreate(Sender: TObject);
  112. begin
  113.   Loading := True;                                         { Createing so set loading }
  114. end;
  115.  
  116. procedure TSsSelect.FormActivate(Sender: TObject);
  117. begin
  118.   If Loading then Begin                                    { If we are loading }
  119.     Loading := False;                                      { Reset the flag }
  120.     ReadDefaults;                                          { Read system deafualts }
  121.     Delay.Value := SsDelay;                                { Get the Delay }
  122.     SsList.ItemIndex := SsType;                            { Set the List box up }
  123.     CurSave.Text := SsList.Items[SsType];                  { Get the Current Saver }
  124.     if SsType = 0 then begin                               { If None }
  125.       Test.Enabled := False;
  126.       Setup.Enabled := False;
  127.       Delay.Enabled := False;                              { Disable the Test, setup and Delay controls }
  128.       end;
  129.     end;
  130. end;
  131.  
  132. procedure TSsSelect.SsListClick(Sender: TObject);
  133. begin
  134.   SsType := SsList.ItemIndex;                              { Get the Type }
  135.   if SsType = 0 then begin                                 { If NONE }
  136.     Test.Enabled := False;
  137.     Setup.Enabled := False;
  138.     Delay.Enabled := False;                                { Disable the Test, setup and Delay controls }
  139.     end
  140.   else begin
  141.     Test.Enabled := True;
  142.     Setup.Enabled := True;
  143.     Delay.Enabled := True;                                 { Enable the Test, setup and Delay controls }
  144.     end;
  145.   CurSave.Text := SsList.Items[SsList.ItemIndex];          { Set the Current Saver }
  146. end;
  147.  
  148.  
  149. end.
  150.