Well, in case the OP does want to know what the relationship is ....
1. Use the source Luke !
2. Remember, each OS will be different, these controls are drawn by the local systems, not Lazarus.
3. Do some tests -
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Font.Height := Edit1.Font.Height + 10;
Memo1.Append('Font Height = ' + inttostr(Edit1.Font.Height) + ' and ctrl height = ' + inttostr(Edit1.Height));
end;
Gives me, on Linux using Mate Desktop, today -
Font Height = 10 and ctrl height = 21
Font Height = 20 and ctrl height = 32
Font Height = 30 and ctrl height = 44
Font Height = 40 and ctrl height = 55
Font Height = 50 and ctrl height = 66
Font Height = 60 and ctrl height = 77
Font Height = 70 and ctrl height = 88
Font Height = 80 and ctrl height = 100
Font Height = 90 and ctrl height = 111
Font Height = 100 and ctrl height = 122
If you are only programming for one OS, my might be happy with the rule of thumb that data indicates but I most certainly would not trust it ! You will have to look at the source. Not a great answer. I won't send you a performance review .....
Davo