So far I have tested this one :
mainLabel.Canvas.TextHeight( 'TT' );
which returns 16.5 which is far from correct text height (it's actually about 30) on FireMonkey - Android/iOS.
How to get the actual Text Height under Firemonkey platform / Delphi XE6 ?
It sounds like you're using devices with high-resolution displays.
Try multiplying the TextHeight by the Canvas.Scale property, and see if you get anything closer to what you expect.
Related
I have several memos with different font on QuickReport. Now I'd like to know the most bottom point for all (for set some shape below). How? If I calculate TextHeight for each and multiple by lines count (aMemo.ParentReport.TextHeight(aMemo.Font, 'W') * aMemo.Lines.Count), results are not correctly - QuickReport print lines like with strange height and position of my shape for some fonts are too high or too low.
Ok, I got it. TextHeight cannot be call from QuickReport, but from Printer.Canvas. Then divide it by Y-Resolution for printer, next divide by 254 and multiple by 96. Result will be round and this is real value of Height of text in TQRMemo. All values are not accessible before print from QuickReport. It's very "smart" to return not real values based on same properties like during printing by component (by TQuickRep.TextHeight method).
I use Borland C++ Builder 2009 (yet I assume the issue and solution is the same for Delphi) and right now I assume the answer I'm looking for is the same for both TListView items and TTreeView items. I may be wrong !?
I have noticed, on a smaller Win 8.1 laptop with Display setting 'Change the size of all items' set to 125% . That the items in both TreeView and ListView get closer to each other.
I haven't tested 150% yet, I assume it will be worse.
I would like to adjust for that if possible.
I assume the same logic goes for when a larger sized font is chosen to display these items ?
How would you test if the height of the items is 'too' big and the items need a bit more space between them ?
And how would you increase the spacing between them ? Taking in account that my ListView implementation is virtual (ListView->OwnerData = true ;) !
TForm has Scaled property. If it is true, all components on a form should be resized automatically accordingly to font size. I cannot check right now if this works for TListView and TTreeView, but you should check this property anyway.
I fixated the two first left columns in my tables based on https://stackoverflow.com/a/17557830/1272712. The columns is only fixated, when the screen size is less than 768px - at which point the table is scrollable (see jsFiddle). It works great on Android, desktop Chrome and desktop Safari, but it doesn't work on iOS Safari and Chrome. Does iOS not support position:absolute?
If anybody else have any alternative implementations, I'll accept that as an answer.
http://jsfiddle.net/98hk3/
I was able to get this working by overriding the -webkit-overflow-scrolling property to be unset.
I believe it defaults to touch in iOS which for some reason was throwing off the position:absolute I was trying to set.
I think you have stuck in min-width problem,
I will say that its simple to solve this in case you will convert pixel to em,
if you base size is 16px (by default it is same in all browsers)
then your PX to Em will be (px)768 / 16 = 48(em)
Now try changing Px to Em in the code Fiddle 0
also if you must stay with PX, then do something like this,
#media(max-width:768px !important)
fiddle 1
or
#media(max-width:99%)
Fiddle 2
Note:I suggest we keep 1 or 2 % spare(by applying 99%) because if we have applied padding some where within body that will create overflow to top level.
Also try adding zoom:1; under .table-responsive class that might help in case of iOS fiddle 3
if this does not work out please reply..
I have an issue using Delphi 2007 & TChart 7.0.10.0 or 7.0.11.0 or the latest evaluation 9.0.5.0 on the TChart scaling.
The problem arises as soon I enlarge the window after a certain width and KEEP the Form height!
This is the drawing using a smaller form size.
now if I enlarge to 1200 weight I get this ugly scaling:
If I export in the designer without the aspect ratio set and with 1200 weight you will se this:
How to get ride of this?
Hp
I see you've set top and bottom margins to Chart1 in your project (8 and 20 percent respectively). I guess this has the intention of giving more space (in height) for Chart2 when you resize the form making it bigger.
Chart1's Top and Height properties should be set according to fill this blank space in the Form's OnResize event.
Try this:
procedure TGSSkillgroupStatisticForm.FormResize(Sender: TObject);
begin
Chart1.Draw;
Chart2.Top:=Chart1.ChartRect.Bottom + 25;
Chart2.Height:=Chart1.Height-Chart1.ChartRect.Bottom-40;
end;
Steema Support Central
Keep in mind that I only scale in the x-axis. Your 3-D bar / construct will after a certain width, overlap the scaling numbers! Your given answer do not fix this issue at all. To see the real problem in a better way, I added on the form creation:
Chart2.BottomAxis.Maximum := 20;
Series2.AddBar(12, 'Hallo', clred);
Here the result:
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