Solved

dock on startup

Posted on 2000-05-08
3
275 Views
Last Modified: 2010-04-04
I have a MainForm with a panel and 2 orher forms(form 1 and form 2)
how can i dock form1 and form2 automatic to MainForm when MainForm is shown

0
Comment
Question by:delpro
  • 2
3 Comments
 
LVL 2

Expert Comment

by:aubs
ID: 2788371
Assuming that you have set your panel to be a docksite, you can use the manualdock method:


//in form1
public
    { Public declarations }
  procedure DockMe(NewDockSite: TWinControl);

procedure TForm1.DockMe(NewDockSite: TWinControl);
begin
  form1.ManualDock(NewDockSite);
end;

//in form2
public
    { Public declarations }
  procedure DockMe(NewDockSite: TWinControl);

procedure TForm2.DockMe(NewDockSite: TWinControl);
begin
  form2.ManualDock(NewDockSite);
end;

//in Mainform

procedure TMainForm.FormShow(Sender: TObject);
begin
  form1.Show;
  form1.DockMe(Panel1);
  form2.Show;
  form2.DockMe(Panel1);
end;


This could be improved by creating a decendent form TDockingForm which has the DockMe procedure already build in. Then create forms 1 & 2 as TDockingForms. This probably is not worth the effort for just 2 forms, but may be worth considering if you have several forms to dock.

The DockMe procedure could also be improved to include alignment parameters, see the on line help for ManualDock.




procedure TForm1.DockMe(NewDockSite: TWinControl,ControlSide: TAlign = alNone);
begin
  form1.ManualDock(NewDockSite, ControlSide);
end;
0
 

Author Comment

by:delpro
ID: 2788473
Thanks
0
 
LVL 2

Accepted Solution

by:
aubs earned 20 total points
ID: 2788651
Does that mean you accept this as an answer?
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
This video discusses moving either the default database or any database to a new volume.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now