Componentes.Terceros.DevExp.../internal/x.36/1/ExpressPrinting System/Demos/Delphi/EQGridRL/EQGridRLMain.pas
2008-09-04 11:31:51 +00:00

166 lines
5.1 KiB
ObjectPascal

unit EQGridRLMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, checklst, StdCtrls, Grids, ComCtrls, ShellAPI, ToolWin, Db, DBTables,
dxPSCore, dxPSdxTLLnk, dxPSdxDBCtrlLnk, dxPSdxDBGrLnk, dxDBTLCl,
dxGrClms, dxTL, dxDBCtrl, dxDBGrid, dxCntner, dxPSGlbl, dxPSUtl,
{dxPSPrVwAdv,} // enable for use of ExpressBars in PrintPreview
dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, ImgList, dxExEdtr,
dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns;
type
TEQGridRLMainForm = class(TForm)
MainMenu: TMainMenu;
miFile: TMenuItem;
miDesigner: TMenuItem;
miHelp: TMenuItem;
miPageSetup: TMenuItem;
miPrintPreview: TMenuItem;
miPrint: TMenuItem;
N1: TMenuItem;
miExit: TMenuItem;
miDX: TMenuItem;
dxComponentPrinter1: TdxComponentPrinter;
ToolBar1: TToolBar;
tbSetup: TToolButton;
tbPreview: TToolButton;
tbPrint: TToolButton;
tbDevider: TToolButton;
tbDesigner: TToolButton;
tbDX: TToolButton;
tbSeparator: TToolButton;
tbExit: TToolButton;
ilButtons: TImageList;
dxComponentPrinter1Link3: TdxDBGridReportLink;
ilTLItems: TImageList;
tBiolife: TTable;
dsBiolife: TDataSource;
ilDBTreelist: TImageList;
dxGrid: TdxDBGrid;
dxDBGridColumn13: TdxDBGridColumn;
dxDBGridMemoColumn1: TdxDBGridMemoColumn;
dxDBGridColumn14: TdxDBGridColumn;
dxDBGridGraphicColumn1: TdxDBGridGraphicColumn;
dxDBGridColumn15: TdxDBGridColumn;
dxDBGridColumn16: TdxDBGridColumn;
dxDBGridColumn18: TdxDBGridColumn;
dxDBGridColumn17: TdxDBGridColumn;
tbSelected: TToolButton;
procedure FormCreate(Sender: TObject);
procedure miDXClick(Sender: TObject);
procedure miPageSetupClick(Sender: TObject);
procedure miPrintPreviewClick(Sender: TObject);
procedure miPrintClick(Sender: TObject);
procedure miDesignerClick(Sender: TObject);
procedure miExitClick(Sender: TObject);
procedure PageControlChange(Sender: TObject);
procedure dxGridColumnSorting(Sender: TObject;
Column: TdxDBTreeListColumn; var Allow: Boolean);
procedure dxGridDragEndHeader(Sender: TObject;
AColumn: TdxTreeListColumn; P: TPoint;
var NewPosInfo: TdxHeaderPosInfo; var Accept: Boolean);
procedure dxGridDragOverHeader(Sender: TObject;
AColumn: TdxTreeListColumn; P: TPoint; var Accept: Boolean);
procedure dxDBGridGraphicColumn1CustomClick(Sender: TObject);
procedure tbSelectedClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
EQGridRLMainForm: TEQGridRLMainForm;
implementation
uses EQGridRLPreview;
{$R *.DFM}
procedure TEQGridRLMainForm.FormCreate(Sender: TObject);
begin
tBiolife.Open;
dxGrid.FullExpand;
end;
procedure TEQGridRLMainForm.miDXClick(Sender: TObject);
begin
ShellExecute(Handle, PChar('OPEN'), PChar('http://www.devexpress.com'), Nil, Nil, SW_SHOWMAXIMIZED);
end;
procedure TEQGridRLMainForm.miPageSetupClick(Sender: TObject);
begin
dxComponentPrinter1.PageSetup(nil);
end;
procedure TEQGridRLMainForm.miPrintPreviewClick(Sender: TObject);
begin
dxComponentPrinter1.Preview(True,nil);
end;
procedure TEQGridRLMainForm.miPrintClick(Sender: TObject);
begin
dxComponentPrinter1.Print(True,nil,nil);
end;
procedure TEQGridRLMainForm.miDesignerClick(Sender: TObject);
begin
dxComponentPrinter1.DesignReport(nil);
end;
procedure TEQGridRLMainForm.miExitClick(Sender: TObject);
begin
Close;
end;
procedure TEQGridRLMainForm.PageControlChange(Sender: TObject);
begin
dxComponentPrinter1.CurrentLink := dxComponentPrinter1.ReportLink[TPageControl(Sender).ActivePage.PageIndex];
end;
procedure TEQGridRLMainForm.dxGridColumnSorting(Sender: TObject;
Column: TdxDBTreeListColumn; var Allow: Boolean);
begin
if Column = dxDBGridGraphicColumn1 then Allow := False;
end;
procedure TEQGridRLMainForm.dxGridDragEndHeader(Sender: TObject;
AColumn: TdxTreeListColumn; P: TPoint; var NewPosInfo: TdxHeaderPosInfo;
var Accept: Boolean);
begin
if NewPosInfo.BandIndex <> -1 then
Accept := AColumn.BandIndex = TdxDBGrid(Sender).Bands.GetAbsoluteIndex(NewPosInfo.BandIndex)
else Accept := False;
end;
procedure TEQGridRLMainForm.dxGridDragOverHeader(Sender: TObject;
AColumn: TdxTreeListColumn; P: TPoint; var Accept: Boolean);
var
C: TdxTreeListColumn;
begin
C := TdxDBGrid(Sender).GetColumnAt(P.X, P.Y);
if C <> nil then
Accept := C.BandIndex = AColumn.BandIndex;
end;
procedure TEQGridRLMainForm.dxDBGridGraphicColumn1CustomClick(Sender: TObject);
begin
if EQGridRLPreviewForm = nil then
EQGridRLPreviewForm := TEQGridRLPreviewForm.Create(Self);
EQGridRLPreviewForm.DBImage.DataField := '';
EQGridRLPreviewForm.DBImage.DataSource := dsBiolife;
EQGridRLPreviewForm.DBImage.DataField := 'Graphic';
EQGridRLPreviewForm.Show;
end;
procedure TEQGridRLMainForm.tbSelectedClick(Sender: TObject);
begin
dxComponentPrinter1Link3.OnlySelected := tbSelected.Down;
end;
end.