TeeChart printing Labels scalling issues after Update to Delphi 10.2 Tokyo - delphi

After Update Delphi 2009 to Delphi 10.2 Tokyo when printing Charts the labeling looks like crushed or false scaled. On Screen all looks ok and on print the Chart himself looks also good, only the Labels are not good.
For printing we use the TPrinter and printpartial method from teechart to print more Charts together in the same page.
We nothing changes on the source Code.
Version of TeeChart: 9.0.1.0
Printing-Method: PrintPartial
1:
Someone with the same Problems or maybe a solution? Thanks

Thank you Yeray for answer.
I found the issues by changing between many times D2009 and D10.2.
If none Default Canvas is set (D2009) the print will be good.
After saving (D10.2) the Tchart will change the "DefaultCanvas = 'TGDIPlusCanvas'", the print is not good.
If i set the Canvas in source Code to "Chart1.Canvas := TTeeCanvas3D.Create" the print is good.
So what Kind of Canvas do you prefer for printing? Do i have to change the canvas before every printing? The TGDIPlusCanvas looks better on Screen than TTeeCanvas3D.
Thanks

Related

TVirtualStringTree - variable row height optimization

In our application I'm moving from a TStringGrid to TVirtualStringTree component. A lot of data is being displayed (max. 50000 lines and 5 columns). One column contains on or more lines of text. I managed to implement multiline functionality using 'DrawCell' in the stringgrid with optimal performance: instant redraw of all lines (on resize) and scrolling without hitches (I have a list of row heights in memory, which will be updated when redraw is needed).
Transferring this multiline functionality to the VirtualStringTree is not as performant as the stringgrid alternative. I tried numerous implementations but have not yet succeeded. This is easily reproducable in the Demo application of the VirtualStringTree installation package:
In the 'MultilineDemo' form, set the 'rootNodeCount' of the VirtualStringTree to 10.000.
When running the demo, select 'Automatically adjust node height to node text.'
Initial redraw/repaint will take a while using lots of CPU. Ater each resize, jumping to top/bottom causes the same phenomenon, or even causing a 'stack overflow' exception (but that's another issue ...). The 'OnMeasureItem' method is called way too much, the way I see it (even on 'MouseMove' events).
Has anyone had this problem and managed to find a solution?
This is easily reproducable in the Demo application of the
VirtualStringTree installation package
At least this performance issue is easily solved by wrapping the call to ReinitNode() in a BeginUpdate() and EndUpdate():
MLTree.BeginUpdate();
try
MLTree.ReinitNode(nil, True);
finally
MLTree.EndUpdate();
end;
I slightly reworked the sample project and the Virtual Treeview today, the sample project works much smoother now. Just try the latest source code from GitHub.

TeeChart printing with C++ Builder XE5 not the same as preview

C++ Builder XE5, 32 bit
Drop TChart object on form
Right click and select EDIT CHART
Click the add button, click OK
Click on the word PRINT
Click the 'Print' button.
The printed graph looks nothing like the preview. I've tried a few different types of graphs and none print anything like the preview. The preview looks perfect, the printed graph is ENLARGED, the title on the paper is almost an inch high, the numbers for the left axis are huge (about 3/4" high), the graph itself is only 2 inches wide by about 4.5 inches high.
Here is the printout www.rcscoringpro.com/tracks/Chart.pdf
Thanks for looking!
Doug
This was fixed with the free update here:
http://cc.embarcadero.com/item/29708

Delphi TeeChart doesnt rotate labels

I tried rotating labels by settings the Chart.BottomAxis.LabelsAngle := 45 but that doesn't work no matter to what value i change it i want my labels to be displayed vertically because not some labels overlap one another:
my settings are:
any ideas of how to fix this issue
P.S my chart is stacked
What i have already tried:
tried changing the LabelsAngle property to 0,45,90,135 none seem to have any effect, the teechart version is the one that comes with Delphi, Currently using Delphi XE5.
Chart is used in FastReport
tried with non stacked chart and it seems to work upper stacked chart lower not stacked any idea what can cause this?:
This works fine for me with TeeChart 2014.11.140512, which is the latest version available. Does this work fine using a TChart component without FastReports? You could also check if the free TeeChart update for XE5 Update 2 solves the problem for you: cc.embarcadero.com/Item/29708
If you are using MS Sans Serif you can try Tahoma.

Delphi: old QuickReport element size as autostretched or aligntobottom?

We have old QuickReport with Delphi 6 Professional.
We uses QRShape to make "table" (as in html, or Excel), not the frame (because the frame size is commonly different than shape, and in QRLabel/QRDBText we don't have spacing option...
So QRShape used as Rectangles (Cells) and Lines.
The main problem that when I have a Memo Field with AutoStretch option then I cannot set the Height of the Shape.
In these cases it would be good if I can set the shape to AutoStretched, or Aligned...
Have the QR some mechanism to set the Shape height as the parent Band's height dynamically?
Thanks for your help!
Regards: dd
The QuickReport suppor said:
Hi, we have added these features to the later versions of
QuickReport. I can't think of any way to do it with old QR. Regards,
Lut Mentz
Such a life... :-)
For anyone still interested in the solution to this, the component QRFrameLine does the job to change to the height of band

In Delphi, Is there a way to adjust the line spacing of a TMemo?

I'm working with a TMemo component to display some text in a limited space. Currently it's using a truetype font which doesn't ship with windows and is installed by the app when it runs.
On my PC (Running Windows XP), the spacing between each line of text seems to be about eight pixels. On a different PC running Windows 7, the line spacing seems to be about 14 pixels, which is pushing the bottom row of text out of visibility on the memo.
So, My question is really this:
Is this caused by the different versions of Windows? It's all I could think that was different.
Is there some way I can adjust this value so it would be consistent across all instances of the application, wherever it was running?
Alternatatively, is there a different component I could use which might let me tweak this value?
TMemo is a descendent of Windows Common controls and it's behavior depends on current Windows configuration so it is natural to get different results with it.
If you just want to display some information it's better to use components which let you set texts positions and their style precisely like TRichView. This component is not free but it has it's own text rendering engine and let you style texts with CSS like selectors which look the same in different versions of windows.
In addition to Mohsen's answer I'd like to mention LMD ElPack and it's ElEdit component which also has it's own text rendering engine. Unlike TRichView ElEdit is a plain text edit / memo component, so it's a drop-in replacement for TEdit / TMemo. And line height is configurable there

Resources