This is a quick solution to a question I had on how to have a form that is set so it can dock into another form's panel. I have a main form with a panel on the right with the 'Docksite' property set to true. I have another form with the 'DragKind' property set to dkDock and the 'DragMode' set to dmAutomatic. I create the docking form at runtime and wanted it so that by default it was docked into the right panel. The quick solution that I found hard to find on the net is after I create the form do the following:
DockingForm.ManualDock(PanelRight);
DockingForm.Show;
Showing posts with label Code. Show all posts
Showing posts with label Code. Show all posts
Friday, 2 June 2017
How to dock a form to a panel programmatically
Labels:
Code,
Docking,
form,
Manual,
ManualDock,
Panel,
Programmatically
Thursday, 23 February 2017
Strict Private Problem with Code Completion
Some time ago I noticed something annoying in Delphi XE with 'Strict Private' and code completion.
Here is an example:
TMyClass = class(TObject)
strict private
public
property Test: string read FTest write FTest;
end;
When I do CTRL + Shift + C to add the private member to the class it does the following:
TMyClass = class(TObject)
strict private
private
FTest: string;
published
public
property Test: string read FTest write FTest;
end;
It adds FTest to the private section of the class and also adds the published section, which is not what I want, but if I remove 'strict' it does not add the 'published' section. Because of this I develop my classes as 'private' and then once I have added all the require properties then I add 'strict' if required. I am not sure if this behaviour is some setting somewhere that I am not aware of, or whether this is something that might have changed in more recent versions of Delphi. Is there a valid reason to have a 'published' section when there is a 'strict private' section?
Here is an example:
TMyClass = class(TObject)
strict private
public
property Test: string read FTest write FTest;
end;
When I do CTRL + Shift + C to add the private member to the class it does the following:
TMyClass = class(TObject)
strict private
private
FTest: string;
published
public
property Test: string read FTest write FTest;
end;
It adds FTest to the private section of the class and also adds the published section, which is not what I want, but if I remove 'strict' it does not add the 'published' section. Because of this I develop my classes as 'private' and then once I have added all the require properties then I add 'strict' if required. I am not sure if this behaviour is some setting somewhere that I am not aware of, or whether this is something that might have changed in more recent versions of Delphi. Is there a valid reason to have a 'published' section when there is a 'strict private' section?
Subscribe to:
Posts (Atom)