home *** CD-ROM | disk | FTP | other *** search
/ Chip: Shareware for Win 95 / Chip-Shareware-Win95.bin / ostatni / delphi / ruzne / zcd30120.exe / Demo / bcmain.pas < prev    next >
Pascal/Delphi Source File  |  1997-01-07  |  5KB  |  199 lines

  1. {
  2.              A unit for BCKCLOCK.DPR, a testprogram for:
  3.                                                          TzSegmentClock
  4.                                                          TzBackground
  5.                       The ZieglerCollection one (TM)
  6.                                 Version 1,01
  7.  
  8.            (C) Copyright 1995,96,97 By ZieglerSoft, all rights reserved
  9. }
  10. unit Bcmain;
  11.  
  12. interface
  13.  
  14. uses WinTypes, WinProcs, SysUtils, Classes, Graphics, Forms, Controls, Menus,
  15.   StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, Blend;
  16.  
  17. type
  18.   TMainForm = class(TForm)
  19.     MainMenu1: TMainMenu;
  20.     Panel1: TPanel;
  21.     StatusLine: TPanel;
  22.     File1: TMenuItem;
  23.     FileNewItem: TMenuItem;
  24.     FileOpenItem: TMenuItem;
  25.     Panel2: TPanel;
  26.     FileCloseItem: TMenuItem;
  27.     Window1: TMenuItem;
  28.     Help1: TMenuItem;
  29.     N1: TMenuItem;
  30.     FileExitItem: TMenuItem;
  31.     WindowCascadeItem: TMenuItem;
  32.     WindowTileItem: TMenuItem;
  33.     WindowArrangeItem: TMenuItem;
  34.     HelpAboutItem: TMenuItem;
  35.     OpenDialog: TOpenDialog;
  36.     FileSaveItem: TMenuItem;
  37.     FileSaveAsItem: TMenuItem;
  38.     Edit1: TMenuItem;
  39.     CutItem: TMenuItem;
  40.     CopyItem: TMenuItem;
  41.     PasteItem: TMenuItem;
  42.     WindowMinimizeItem: TMenuItem;
  43.     SpeedPanel: TPanel;
  44.     OpenBtn: TSpeedButton;
  45.     SaveBtn: TSpeedButton;
  46.     CutBtn: TSpeedButton;
  47.     CopyBtn: TSpeedButton;
  48.     PasteBtn: TSpeedButton;
  49.     ExitBtn: TSpeedButton;
  50.     zBackground1: TzBackground;
  51.     procedure FormCreate(Sender: TObject);
  52.     procedure FileNewItemClick(Sender: TObject);
  53.     procedure WindowCascadeItemClick(Sender: TObject);
  54.     procedure UpdateMenuItems(Sender: TObject);
  55.     procedure WindowTileItemClick(Sender: TObject);
  56.     procedure WindowArrangeItemClick(Sender: TObject);
  57.     procedure FileCloseItemClick(Sender: TObject);
  58.     procedure FileOpenItemClick(Sender: TObject);
  59.     procedure FileExitItemClick(Sender: TObject);
  60.     procedure FileSaveItemClick(Sender: TObject);
  61.     procedure FileSaveAsItemClick(Sender: TObject);
  62.     procedure CutItemClick(Sender: TObject);
  63.     procedure CopyItemClick(Sender: TObject);
  64.     procedure PasteItemClick(Sender: TObject);
  65.     procedure WindowMinimizeItemClick(Sender: TObject);
  66.     procedure FormDestroy(Sender: TObject);
  67.   private
  68.     { Private declarations }
  69.     procedure CreateMDIChild(const Name: string);
  70.     procedure ShowHint(Sender: TObject);
  71.   public
  72.     { Public declarations }
  73.   end;
  74.  
  75. var
  76.   MainForm: TMainForm;
  77.  
  78. implementation
  79.  
  80. {$R *.DFM}
  81.  
  82. uses BcChild;
  83.  
  84. procedure TMainForm.FormCreate(Sender: TObject);
  85. begin
  86.   Application.OnHint := ShowHint;
  87.   Screen.OnActiveFormChange := UpdateMenuItems;
  88. end;
  89.  
  90. procedure TMainForm.ShowHint(Sender: TObject);
  91. begin
  92.   StatusLine.Caption := Application.Hint;
  93. end;
  94.  
  95. procedure TMainForm.CreateMDIChild(const Name: string);
  96. var
  97.   Child: TMDIChild;
  98. begin
  99.   { create a new MDI child window }
  100.   Child := TMDIChild.Create(Application);
  101.   Child.Caption := Name;
  102. end;
  103.  
  104. procedure TMainForm.FileNewItemClick(Sender: TObject);
  105. begin
  106.   CreateMDIChild('NONAME' + IntToStr(MDIChildCount + 1));
  107. end;
  108.  
  109. procedure TMainForm.FileOpenItemClick(Sender: TObject);
  110. begin
  111.   if OpenDialog.Execute then
  112.     CreateMDIChild(OpenDialog.FileName);
  113. end;
  114.  
  115. procedure TMainForm.FileCloseItemClick(Sender: TObject);
  116. begin
  117.   if ActiveMDIChild <> nil then
  118.     ActiveMDIChild.Close;
  119. end;
  120.  
  121. procedure TMainForm.FileSaveItemClick(Sender: TObject);
  122. begin
  123.   { save current file (ActiveMDIChild points to the window) }
  124. end;
  125.  
  126. procedure TMainForm.FileSaveAsItemClick(Sender: TObject);
  127. begin
  128.   { save current file under new name }
  129. end;
  130.  
  131. procedure TMainForm.FileExitItemClick(Sender: TObject);
  132. begin
  133.   Close;
  134. end;
  135.  
  136. procedure TMainForm.CutItemClick(Sender: TObject);
  137. begin
  138.   {cut selection to clipboard}
  139. end;
  140.  
  141. procedure TMainForm.CopyItemClick(Sender: TObject);
  142. begin
  143.   {copy selection to clipboard}
  144. end;
  145.  
  146. procedure TMainForm.PasteItemClick(Sender: TObject);
  147. begin
  148.   {paste from clipboard}
  149. end;
  150.  
  151. procedure TMainForm.WindowCascadeItemClick(Sender: TObject);
  152. begin
  153.   Cascade;
  154. end;
  155.  
  156. procedure TMainForm.WindowTileItemClick(Sender: TObject);
  157. begin
  158.   Tile;
  159. end;
  160.  
  161. procedure TMainForm.WindowArrangeItemClick(Sender: TObject);
  162. begin
  163.   ArrangeIcons;
  164. end;
  165.  
  166. procedure TMainForm.WindowMinimizeItemClick(Sender: TObject);
  167. var
  168.   I: Integer;
  169. begin
  170.   { Must be done backwards through the MDIChildren array }
  171.   for I := MDIChildCount - 1 downto 0 do
  172.     MDIChildren[I].WindowState := wsMinimized;
  173. end;
  174.  
  175. procedure TMainForm.UpdateMenuItems(Sender: TObject);
  176. begin
  177.   FileCloseItem.Enabled := MDIChildCount > 0;
  178.   FileSaveItem.Enabled := MDIChildCount > 0;
  179.   FileSaveAsItem.Enabled := MDIChildCount > 0;
  180.   CutItem.Enabled := MDIChildCount > 0;
  181.   CopyItem.Enabled := MDIChildCount > 0;
  182.   PasteItem.Enabled := MDIChildCount > 0;
  183.   SaveBtn.Enabled := MDIChildCount > 0;
  184.   CutBtn.Enabled := MDIChildCount > 0;
  185.   CopyBtn.Enabled := MDIChildCount > 0;
  186.   PasteBtn.Enabled := MDIChildCount > 0;
  187.   WindowCascadeItem.Enabled := MDIChildCount > 0;
  188.   WindowTileItem.Enabled := MDIChildCount > 0;
  189.   WindowArrangeItem.Enabled := MDIChildCount > 0;
  190.   WindowMinimizeItem.Enabled := MDIChildCount > 0;
  191. end;
  192.  
  193. procedure TMainForm.FormDestroy(Sender: TObject);
  194. begin
  195.   Screen.OnActiveFormChange := nil;
  196. end;
  197.  
  198. end.
  199.