home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 January / Chip_2003-01_cd1.bin / zkuste / delphi / kolekce / d567 / FLEXCEL.ZIP / Demo / FlDemo / UFlDemoEdit.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2002-10-11  |  7.5 KB  |  267 lines

  1. unit UFlDemoEdit;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, UFlDemoData,
  7.   Grids, ComCtrls, ToolWin, UWaitCursor, ExtCtrls, ActnList, UFormatDialog, UFlxFormats,
  8.   UFlexCelGrid, UFlxMessages, Menus, ZLib;
  9.  
  10. type
  11.   TDemoEdit = class(TForm)
  12.     TabControl: TTabControl;
  13.     Data: TFlexCelGrid;
  14.     Panel1: TPanel;
  15.     ActionList1: TActionList;
  16.     ActionCopyFormat: TAction;
  17.     ActionPasteFormat: TAction;
  18.     ActionCellFormat: TAction;
  19.     ActionRowFormat: TAction;
  20.     ActionColFormat: TAction;
  21.     ActionZoom: TAction;
  22.     CoolBar1: TCoolBar;
  23.     ToolBar: TToolBar;
  24.     BtnSave: TToolButton;
  25.     BtnClose: TToolButton;
  26.     ToolBar1: TToolBar;
  27.     ToolButton1: TToolButton;
  28.     ToolButton2: TToolButton;
  29.     ToolButton3: TToolButton;
  30.     ToolButton4: TToolButton;
  31.     ToolButton5: TToolButton;
  32.     ToolButton6: TToolButton;
  33.     ToolButton8: TToolButton;
  34.     TrackBarZoom: TTrackBar;
  35.     PanelZoom: TPanel;
  36.     ToolButton9: TToolButton;
  37.     ActionReadOnly: TAction;
  38.     MainMenu1: TMainMenu;
  39.     View1: TMenuItem;
  40.     Zoom1: TMenuItem;
  41.     Format1: TMenuItem;
  42.     CopyFormat1: TMenuItem;
  43.     PasteFormat1: TMenuItem;
  44.     N1: TMenuItem;
  45.     CellFormat1: TMenuItem;
  46.     ColFormat1: TMenuItem;
  47.     ColFormat2: TMenuItem;
  48.     ActionSaveAs: TAction;
  49.     ActionClose: TAction;
  50.     File2: TMenuItem;
  51.     ReadOnly1: TMenuItem;
  52.     ReadOnly2: TMenuItem;
  53.     N2: TMenuItem;
  54.     Close1: TMenuItem;
  55.     ToolButton7: TToolButton;
  56.     MenuZoom: TPopupMenu;
  57.     N101: TMenuItem;
  58.     N251: TMenuItem;
  59.     N1001: TMenuItem;
  60.     N2001: TMenuItem;
  61.     N4001: TMenuItem;
  62.     Action10: TAction;
  63.     Action25: TAction;
  64.     Action100: TAction;
  65.     Action200: TAction;
  66.     Action400: TAction;
  67.     Action50: TAction;
  68.     N501: TMenuItem;
  69.     N102: TMenuItem;
  70.     N252: TMenuItem;
  71.     N502: TMenuItem;
  72.     N1002: TMenuItem;
  73.     N2002: TMenuItem;
  74.     N4002: TMenuItem;
  75.     ActionFullWorksheet: TAction;
  76.     ToolButton10: TToolButton;
  77.     N3: TMenuItem;
  78.     FullWorksheet1: TMenuItem;
  79.     procedure TabControlChange(Sender: TObject);
  80.     procedure ActionCopyFormatExecute(Sender: TObject);
  81.     procedure ActionPasteFormatExecute(Sender: TObject);
  82.     procedure ActionCellFormatExecute(Sender: TObject);
  83.     procedure ActionRowFormatExecute(Sender: TObject);
  84.     procedure ActionColFormatExecute(Sender: TObject);
  85.     procedure TrackBarZoomChange(Sender: TObject);
  86.     procedure ActionZoomExecute(Sender: TObject);
  87.     procedure ActionReadOnlyExecute(Sender: TObject);
  88.     procedure ActionSaveAsExecute(Sender: TObject);
  89.     procedure ActionCloseExecute(Sender: TObject);
  90.     procedure Action10Execute(Sender: TObject);
  91.     procedure Action25Execute(Sender: TObject);
  92.     procedure Action50Execute(Sender: TObject);
  93.     procedure Action100Execute(Sender: TObject);
  94.     procedure Action200Execute(Sender: TObject);
  95.     procedure Action400Execute(Sender: TObject);
  96.     procedure ActionFullWorksheetExecute(Sender: TObject);
  97.   private
  98.     ClipFormat: integer;
  99.     FormatDialog: TFormatDialog;
  100.  
  101.     { Private declarations }
  102.   public
  103.     procedure FillData;
  104.     { Public declarations }
  105.   end;
  106.  
  107. implementation
  108.  
  109. {$R *.DFM}
  110.  
  111. { TDemoEdit }
  112.  
  113. procedure TDemoEdit.FillData;
  114. var
  115.   p: integer;
  116. begin
  117.   TabControl.Tabs.Clear;
  118.  
  119.   for p:=1 to DemoData.FlexCelImport.SheetCount do
  120.   begin
  121.     DemoData.FlexCelImport.ActiveSheet:=p;
  122.     TabControl.Tabs.Add(DemoData.FlexCelImport.ActiveSheetName);
  123.   end;
  124.  
  125.   DemoData.FlexCelImport.ActiveSheet:=1;
  126.   TabControl.TabIndex:=DemoData.FlexCelImport.ActiveSheet-1;
  127.   Data.LoadSheet;
  128. end;
  129.  
  130. procedure TDemoEdit.TabControlChange(Sender: TObject);
  131. begin
  132.   Data.ApplySheet;
  133.   DemoData.FlexCelImport.ActiveSheet:= TabControl.TabIndex+1;
  134.   Data.LoadSheet;
  135. end;
  136.  
  137. procedure TDemoEdit.ActionCopyFormatExecute(Sender: TObject);
  138. begin
  139.   ClipFormat:=DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col];
  140. end;
  141.  
  142. procedure TDemoEdit.ActionPasteFormatExecute(Sender: TObject);
  143. begin
  144.   DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col]:=ClipFormat;
  145.   Data.Invalidate;
  146. end;
  147.  
  148. procedure TDemoEdit.ActionCellFormatExecute(Sender: TObject);
  149. begin
  150.   if FormatDialog=nil then
  151.   begin
  152.     FormatDialog:= TFormatDialog.Create(Self);
  153.     FormatDialog.SetData(DemoData.FlexCelImport);
  154.   end;
  155.   FormatDialog.Caption:='Choose CELL Format:';
  156.   FormatDialog.Load;
  157.   FormatDialog.SelectedFormat:=DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col];
  158.   if FormatDialog.ShowModal<>mrOk then exit;
  159.   DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col]:=FormatDialog.SelectedFormat;
  160. end;
  161.  
  162. procedure TDemoEdit.ActionRowFormatExecute(Sender: TObject);
  163. begin
  164.   if FormatDialog=nil then
  165.   begin
  166.     FormatDialog:= TFormatDialog.Create(Self);
  167.     FormatDialog.SetData(DemoData.FlexCelImport);
  168.   end;
  169.   FormatDialog.Caption:='Choose ROW Format:';
  170.   FormatDialog.Load;
  171.   FormatDialog.SelectedFormat:=DemoData.FlexCelImport.RowFormat[Data.Row];
  172.   if FormatDialog.ShowModal<>mrOk then exit;
  173.   DemoData.FlexCelImport.RowFormat[Data.Row]:=FormatDialog.SelectedFormat;
  174.   Data.Invalidate;
  175. end;
  176.  
  177. procedure TDemoEdit.ActionColFormatExecute(Sender: TObject);
  178. begin
  179.   if FormatDialog=nil then
  180.   begin
  181.     FormatDialog:= TFormatDialog.Create(Self);
  182.     FormatDialog.SetData(DemoData.FlexCelImport);
  183.   end;
  184.   FormatDialog.Caption:='Choose COLUMN Format:';
  185.   FormatDialog.Load;
  186.   FormatDialog.SelectedFormat:=DemoData.FlexCelImport.ColumnFormat[Data.Col];
  187.   if FormatDialog.ShowModal<>mrOk then exit;
  188.   DemoData.FlexCelImport.ColumnFormat[Data.Col]:=FormatDialog.SelectedFormat;
  189.   Data.Invalidate;
  190. end;
  191.  
  192. procedure TDemoEdit.TrackBarZoomChange(Sender: TObject);
  193. begin
  194.   Data.Zoom:=(Sender as TTrackBar).Position;
  195.   PanelZoom.Caption:=Format('%d%%',[ Data.Zoom]);
  196. end;
  197.  
  198. procedure TDemoEdit.ActionZoomExecute(Sender: TObject);
  199. begin
  200.   if TrackBarZoom.Position<25 then TrackBarZoom.Position:=25 else
  201.   if TrackBarZoom.Position<50 then TrackBarZoom.Position:=50 else
  202.   if TrackBarZoom.Position<100 then TrackBarZoom.Position:=100 else
  203.   if TrackBarZoom.Position<200 then TrackBarZoom.Position:=200 else
  204.   if TrackBarZoom.Position<400 then TrackBarZoom.Position:=400 else
  205.   TrackBarZoom.Position:=10;
  206. end;
  207.  
  208. procedure TDemoEdit.ActionReadOnlyExecute(Sender: TObject);
  209. begin
  210.   ActionReadOnly.Checked:=not ActionReadOnly.Checked;
  211.   Data.ReadOnly:=ActionReadOnly.Checked;
  212. end;
  213.  
  214. procedure TDemoEdit.ActionSaveAsExecute(Sender: TObject);
  215. begin
  216.   if not DemoData.XlsSaveDialog.Execute then exit;
  217.   if FileExists(DemoData.XlsSaveDialog.FileName) then DeleteFile(DemoData.XlsSaveDialog.FileName);
  218.  
  219.   Data.ApplySheet;
  220.   DemoData.FlexCelImport.Save(DemoData.XlsSaveDialog.FileName);
  221. end;
  222.  
  223. procedure TDemoEdit.ActionCloseExecute(Sender: TObject);
  224. begin
  225.   Close;
  226. end;
  227.  
  228. procedure TDemoEdit.Action10Execute(Sender: TObject);
  229. begin
  230.   TrackBarZoom.Position:=10;
  231. end;
  232.  
  233. procedure TDemoEdit.Action25Execute(Sender: TObject);
  234. begin
  235.   TrackBarZoom.Position:=25;
  236. end;
  237.  
  238. procedure TDemoEdit.Action50Execute(Sender: TObject);
  239. begin
  240.   TrackBarZoom.Position:=50;
  241. end;
  242.  
  243. procedure TDemoEdit.Action100Execute(Sender: TObject);
  244. begin
  245.   TrackBarZoom.Position:=100;
  246. end;
  247.  
  248. procedure TDemoEdit.Action200Execute(Sender: TObject);
  249. begin
  250.   TrackBarZoom.Position:=200;
  251. end;
  252.  
  253. procedure TDemoEdit.Action400Execute(Sender: TObject);
  254. begin
  255.   TrackBarZoom.Position:=400;
  256. end;
  257.  
  258.  
  259. procedure TDemoEdit.ActionFullWorksheetExecute(Sender: TObject);
  260. begin
  261.   ActionFullWorksheet.Checked:=not ActionFullWorksheet.Checked;
  262.   Data.FullWorksheet:= ActionFullWorksheet.Checked;
  263.   Data.LoadSheet;
  264. end;
  265.  
  266. end.
  267.