What contains 'TForm.BaseBounds' ? lazarus / 31-LCL ---------------------------------------------------------------------- Hartmut · 2024-10-08 11:53 The documentation says about this: "The rectangle of the designed bounds". This is not clear enough for me. I made several tests and in all cases e.g. 'TForm.BaseBounds.Left' was the same as 'TForm.Left' and 'TForm.BaseBounds.Top' was the same as 'TForm.Top' etc. Are these always the same or is it anyhow possible, that these are different? If yes, can you please give an example? Thanks in advance. ---------------------------------------------------------------------- jamie · 2024-10-08 21:48 Sounds like the Design Time Bounds when you are doing your OI stuff. ---------------------------------------------------------------------- wp · 2024-10-08 22:30 Yes, Jamie is right: Put a panel on a form and anchor all its sides. Then write this OnResize handler for the panel: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TForm1.Panel1Resize(Sender:TObject);begin  Panel1.Caption := Format(  'Right=%d BaseBounds.Right=%d', [Panel1.Left+Panel1.Width, Panel1.BaseBounds.Right]);end; When you now change the width of the form (and of the panel due to the anchoring) by the mouse at runtime you will see that the "Right" value changes accordingly while the Panel.BaseBounds.Right stays always constant at the value of "Right" before you started dragging. ---------------------------------------------------------------------- Hartmut · 2024-10-09 09:24 Thank you for that demo. I got it to work and saw the difference between 'Panel1.BaseBounds.Right' and 'Panel1.Left+Panel1.Width'. But my question was more ralated to the properties of a 'TForm'. So I expanded the code to Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TForm1.Panel1Resize(Sender: TObject);   begin   Panel1.Caption := Format(                     'Right=%d BaseBounds.Right=%d', [Panel1.Left+Panel1.Width,                     Panel1.BaseBounds.Right]);   self.Caption := Format(                   'Right=%d BaseBounds.Right=%d', [self.Left+self.Width,                   self.BaseBounds.Right]);   end;and saw, that there is no difference between 'self.BaseBounds.Right' and 'self.Left+self.Width' when I resize the Form. So please let me ask again: Are e.g. 'self.BaseBounds.Right' and 'self.Left+self.Width' (where 'self' is a 'TForm') always the same or is it anyhow possible, that these are different? If yes, can you please give an example?