RxFPC:RxDBGridPrint - fix print fillcolor for data cell

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4872 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2016-06-30 07:28:58 +00:00
parent 4f83704448
commit 8804d54e20
4 changed files with 254 additions and 68 deletions

View File

@ -55,13 +55,13 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item5>
</RequiredPackages>
<Units Count="129">
<Units Count="135">
<Unit0>
<Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos X="47" Y="18"/>
<UsageCount Value="109"/>
<UsageCount Value="110"/>
</Unit0>
<Unit1>
<Filename Value="rxdbgridmainunit.pas"/>
@ -71,9 +71,8 @@
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/>
<TopLine Value="70"/>
<CursorPos X="133" Y="87"/>
<UsageCount Value="109"/>
<CursorPos X="61" Y="10"/>
<UsageCount Value="110"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@ -893,16 +892,185 @@
<EditorIndex Value="-1"/>
<UsageCount Value="10"/>
</Unit128>
<Unit129>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<UnitName Value="RxDBGridPrintGrid"/>
<EditorIndex Value="2"/>
<TopLine Value="310"/>
<CursorPos Y="322"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit129>
<Unit130>
<Filename Value="../../../lazreport/source/lr_desgn.pas"/>
<ComponentName Value="frDesignerForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="LR_Desgn"/>
<EditorIndex Value="5"/>
<TopLine Value="7481"/>
<CursorPos Y="7496"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit130>
<Unit131>
<Filename Value="../../../lazreport/source/lr_class.pas"/>
<UnitName Value="LR_Class"/>
<EditorIndex Value="3"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit131>
<Unit132>
<Filename Value="../../../lazreport/source/lr_view.pas"/>
<ComponentName Value="frPreviewForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="LR_View"/>
<EditorIndex Value="4"/>
<TopLine Value="1524"/>
<CursorPos Y="1540"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit132>
<Unit133>
<Filename Value="/home/install/source/fpcsrc/rtl/objpas/sysutils/sysstrh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="113"/>
<CursorPos X="10" Y="128"/>
<UsageCount Value="10"/>
</Unit133>
<Unit134>
<Filename Value="/home/install/source/fpcsrc/packages/fcl-base/src/gettext.pp"/>
<EditorIndex Value="1"/>
<TopLine Value="313"/>
<CursorPos X="3" Y="315"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit134>
</Units>
<JumpHistory Count="2" HistoryIndex="1">
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="85" Column="133" TopLine="68"/>
<Filename Value="../../../lazreport/source/lr_desgn.pas"/>
<Caret Line="7496" TopLine="7481"/>
</Position1>
<Position2>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="86" Column="133" TopLine="69"/>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="373" Column="25" TopLine="359"/>
</Position2>
<Position3>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="369" TopLine="359"/>
</Position3>
<Position4>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="370" TopLine="359"/>
</Position4>
<Position5>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="371" TopLine="359"/>
</Position5>
<Position6>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="372" TopLine="359"/>
</Position6>
<Position7>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="373" TopLine="359"/>
</Position7>
<Position8>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="375" TopLine="359"/>
</Position8>
<Position9>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="378" TopLine="359"/>
</Position9>
<Position10>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="379" TopLine="365"/>
</Position10>
<Position11>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="386" TopLine="365"/>
</Position11>
<Position12>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="390" TopLine="366"/>
</Position12>
<Position13>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="370" TopLine="364"/>
</Position13>
<Position14>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="372" Column="133" TopLine="358"/>
</Position14>
<Position15>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="351" Column="4" TopLine="336"/>
</Position15>
<Position16>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="335" Column="31" TopLine="321"/>
</Position16>
<Position17>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="413" Column="21" TopLine="389"/>
</Position17>
<Position18>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="415" Column="31" TopLine="391"/>
</Position18>
<Position19>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="416" Column="50" TopLine="392"/>
</Position19>
<Position20>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="492" Column="69" TopLine="467"/>
</Position20>
<Position21>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="493" Column="69" TopLine="468"/>
</Position21>
<Position22>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="430" TopLine="430"/>
</Position22>
<Position23>
<Filename Value="../../rxdbgridprintgrid.pas"/>
<Caret Line="316" TopLine="308"/>
</Position23>
<Position24>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="150" TopLine="127"/>
</Position24>
<Position25>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="149" TopLine="126"/>
</Position25>
<Position26>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="148" TopLine="125"/>
</Position26>
<Position27>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="147" TopLine="125"/>
</Position27>
<Position28>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="11" Column="56"/>
</Position28>
<Position29>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="109" Column="27" TopLine="94"/>
</Position29>
<Position30>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="84" Column="25" TopLine="71"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>

View File

@ -240,72 +240,84 @@ object RxDBGridMainForm: TRxDBGridMainForm
end
item
Glyph.Data = {
76010000424D760100000000000036000000280000000A0000000A0000000100
18000000000040010000640000006400000000000000000000007F7F7F7F7F7F
7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F00007F7F7FEEEEEE
EEEEEEEEEEEE414141414141EEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141414141EEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141414141EEEEEEEEEEEEEEEEEEC3C3C300007F7F7F414141
414141414141414141414141414141414141414141C3C3C300007F7F7F414141
414141414141414141414141414141414141414141C3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141414141EEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141414141EEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141414141EEEEEEEEEEEEEEEEEEC3C3C300007F7F7FC3C3C3
C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C30000
C6010000424DC60100000000000036000000280000000A0000000A0000000100
2000000000009001000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000414141FF414141FF000000000000
0000000000000000000000000000000000000000000000000000414141FF4141
41FF000000000000000000000000000000000000000000000000000000000000
0000414141FF414141FF00000000000000000000000000000000000000004141
41FF414141FF414141FF414141FF414141FF414141FF414141FF414141FF0000
000000000000414141FF414141FF414141FF414141FF414141FF414141FF4141
41FF414141FF0000000000000000000000000000000000000000414141FF4141
41FF000000000000000000000000000000000000000000000000000000000000
0000414141FF414141FF00000000000000000000000000000000000000000000
00000000000000000000414141FF414141FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000
}
Hint = 'Style "PlusRx"'
Style = ebsPlusRx
end
item
Glyph.Data = {
76010000424D760100000000000036000000280000000A0000000A0000000100
18000000000040010000640000006400000000000000000000007F7F7F7F7F7F
7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F00007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7F414141
414141EEEEEE414141414141EEEEEE414141414141C3C3C300007F7F7F414141
414141EEEEEE414141414141EEEEEE414141414141C3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FC3C3C3
C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C30000
C6010000424DC60100000000000036000000280000000A0000000A0000000100
2000000000009001000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004141
41FF414141FF00000000414141FF414141FF00000000414141FF414141FF0000
000000000000414141FF414141FF00000000414141FF414141FF000000004141
41FF414141FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000
}
Hint = 'Style "EllipsisRx"'
Style = ebsEllipsisRx
end
item
Glyph.Data = {
76010000424D760100000000000036000000280000000A0000000A0000000100
18000000000040010000640000006400000000000000000000007F7F7F7F7F7F
7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F00007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEE414141EEEEEE414141EEEEEE414141414141C3C3C300007F7F7FEEEEEE
EEEEEE414141EEEEEE414141EEEEEE414141EEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141EEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141EEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
414141414141414141414141414141EEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEE414141EEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FC3C3C3
C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C30000
C6010000424DC60100000000000036000000280000000A0000000A0000000100
2000000000009001000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000414141FF000000004141
41FF00000000414141FF414141FF000000000000000000000000000000004141
41FF00000000414141FF00000000414141FF0000000000000000000000000000
00000000000000000000414141FF000000000000000000000000000000000000
000000000000000000000000000000000000414141FF00000000000000000000
000000000000000000000000000000000000414141FF414141FF414141FF4141
41FF414141FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000414141FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000
}
Hint = 'Style "GlyphRx"'
Style = ebsGlyphRx
end
item
Glyph.Data = {
76010000424D760100000000000036000000280000000A0000000A0000000100
18000000000040010000640000006400000000000000000000007F7F7F7F7F7F
7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F00007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7F414141
414141414141414141414141414141414141414141C3C3C300007F7F7F414141
414141414141414141414141414141414141414141C3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC3C3C300007F7F7FC3C3C3
C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C30000
C6010000424DC60100000000000036000000280000000A0000000A0000000100
2000000000009001000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004141
41FF414141FF414141FF414141FF414141FF414141FF414141FF414141FF0000
000000000000414141FF414141FF414141FF414141FF414141FF414141FF4141
41FF414141FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000
}
Hint = 'Style "MinusRx"'
Style = ebsMinusRx
@ -1499,6 +1511,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Options = [rxpoShowTitle, rxpoShowFooter, rxpoShowGridColor, rxpoShowFooterColor, rxpoShowReportTitle]
ShowProgress = True
ReportTitle = 'RxDBGrid demo'
ModifyPrepared = True
left = 548
top = 269
end

View File

@ -7,8 +7,8 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxmemds,
DB, rxdbgrid, RxAboutDialog, RxIniPropStorage, RxDBGridPrintGrid,
RxDBGridExportSpreadSheet, RxDBGridFooterTools, tooledit, ExtCtrls, Buttons,
Menus, ActnList, StdCtrls, DBGrids, types;
RxDBGridExportSpreadSheet, RxDBGridFooterTools, tooledit,
ExtCtrls, Buttons, Menus, ActnList, StdCtrls, DBGrids;
type
@ -106,7 +106,7 @@ procedure LocalizeApp;
var
Lang, FallbackLang: String;
begin
GetLanguageIDs(Lang,FallbackLang); // in unit gettext
GetLanguageIDs(Lang{%H-},FallbackLang{%H-}); // in unit gettext
TranslateUnitResourceStrings('rxconst',NormalizeDirectoryName('../../languages/rxconst.%s.po'), Lang, FallbackLang);
TranslateUnitResourceStrings('rxdconst',NormalizeDirectoryName('../../languages/rxdconst.%s.po'), Lang, FallbackLang);
end;
@ -143,6 +143,7 @@ begin
RxMemoryData1.AppendRecord([16, 'Гарант', 480, 'Гарант', EncodeDate(2007, 2, 1), 3]);
RxMemoryData1.First;
end;
procedure TRxDBGridMainForm.hlpAboutExecute(Sender: TObject);

View File

@ -83,6 +83,7 @@ type
TRxDBGridPrint = class(TRxDBGridAbstractTools)
private
FModifyPrepared: boolean;
FOptions: TRxDBGridPrintOptions;
FOrientation: TPrinterOrientation;
FPageMargin: TRxPageMargin;
@ -123,6 +124,7 @@ type
property PageMargin:TRxPageMargin read FPageMargin write SetPageMargin;
property ReportTitle:string read FReportTitle write FReportTitle;
property ShowColumnHeaderOnAllPage:boolean read FShowColumnHeaderOnAllPage write FShowColumnHeaderOnAllPage default false;
property ModifyPrepared:boolean read FModifyPrepared write FModifyPrepared default false;
end;
procedure Register;
@ -311,14 +313,12 @@ procedure TRxDBGridPrint.DoShowFooter;
var
FBand: TfrBandView;
FView: TfrMemoView;
i: Integer;
begin
FBand := TfrBandView(frCreateObject(gtBand, '', FPage));
FBand.BandType := btMasterFooter;
FBand.SetBounds(FXPos, FYPos, 1000, 20);
FBand.Flags:=FBand.Flags or flStretched;
// FPage.Objects.Add(FBand);
FView := frCreateObject(gtMemo, '', FPage) as TfrMemoView;
FView.SetBounds(FXPos, FYPos, 20, 20);
@ -326,12 +326,10 @@ begin
if rxpoShowFooterColor in FOptions then
FView.FillColor := RxDBGrid.FooterOptions.Color;
// FView.Font.Assign(FTitleFont);
FView.Font.Size:=12;
FView.Frames:=frAllFrames;
FView.Layout:=tlTop;
FView.Memo.Add(Format('Footer', [i]));
// FPage.Objects.Add(FView);
FView.Memo.Add('Footer');
FYPos := FYPos + 22;
end;
@ -367,6 +365,8 @@ begin
C:=F.Col.Color;
if Assigned(RxDBGrid.OnGetCellProps) then
RxDBGrid.OnGetCellProps(RxDBGrid, F.Col.Field, TfrMemoView(View).Font, C);
if C = clWindow then
C := clNone;
TfrMemoView(View).FillColor:=C;
end;
@ -423,7 +423,6 @@ end;
function TRxDBGridPrint.DoExecTools: boolean;
var
C:integer;
SaveDesign: TfrReportDesigner;
begin
Result:=false;
@ -437,6 +436,7 @@ begin
FReport:=TfrReport.Create(Self);
FReport.OnPrintColumn:=@OnPrintColumn;
FReport.OnEnterRect:=@OnEnterRect;
FReport.ModifyPrepared:=FModifyPrepared;
FReportDataSet := TfrDBDataSet.Create(Self);
FColumnDataSet := TfrUserDataSet.Create(Self);
@ -454,13 +454,16 @@ begin
FReport.ShowProgress:=FShowProgress;
DoCreateReport;
frDesigner:=SaveDesign;
FReport.ShowReport;
Result:=true;
finally
FreeAndNil(FColumnDataSet);
FreeAndNil(FReportDataSet);
FreeAndNil(FReport);
frDesigner:=SaveDesign;
// frDesigner:=SaveDesign;
end;
end;
@ -529,6 +532,7 @@ begin
FCaption:=sPrintGrid;
FShowProgress:=false;
FModifyPrepared:=false;
FRxColInfoList:=TObjectList.Create(true);
FOrientation:=poPortrait;
ShowSetupForm:=false;