implementation
uses centform;
{$R *.DFM}
procedure TForm1.show1Click(Sender: TObject);
var
r : Trect;
begin
r := application.mainform.BoundsRect;
with form2 do
{form2의 크기와 위치를 계산한 후에 출력한다.}
begin
top := (((r.bottom - r.top) + height) div 2 );
left := (((r.right - r.Left) - width) div 2) + r.left;
show;
end;
end;
크기계산이 이해가 될것같으면서도 잘 되질않습니다.
고수님들 이해할수 있게 설명해주시면 감사하겠습니다.
수고하세요..
주석 달아 놓고..
아래쪽에.. 다시 만들어놨어요.. 끝까지 보믄 이해가 갈것이요.
이것은.. 띄울폼(form2)의 위치를 정하는 거여요...
상하는 고정... 좌우는 form1의 중앙에 위치하게 되지요...
implementation
uses centform;
{$R *.DFM}
procedure TForm1.show1Click(Sender: TObject);
var
r : Trect;
//=========== r 이 머신지는 알겄죠? rect 즉.. 사각형입니다요...
begin
r := application.mainform.BoundsRect;
//=========== 이거시 머시냐.. 현재 폼의 범위를 r에다 쑤셔박았습니다요...
//=========== 여그서부터는 폼2에다 하는 짓거리여요...
with form2 do
begin
top := (((r.bottom - r.top) + height) div 2 );
//=========== 폼2가 보여지는 위치가 어디냐...
//=========== r.bottom 은 아까 메인폼의 미테쪽이어여
//=========== r.top은 머시냐.. 당근 메인폼의 우에쪽이것지요...
//=========== 아래에서 위를 빼면 머시냐.......... 그것은 노피지요....
//=========== 즉.... 메인폼의 Height 이어요...
//=========== 거기다가 다시 Height를 더했어요... 여기서는 form2의 높이지요..
//=========== 그럼 현재까지의 값은.. 현재폼하고 보여줄폼의 높이를 더했지요..
//=========== 그것을 다시 2로 나눴어요.. 여그까지 알것쮸?
//=========== 요건 항상 높이가 일쩡하쥬...
//=========== 머땀이 이지랄을 했당가요?
//=========== 그냥 가볍게.. 할것이지.. 짱나게...
//=========== 넘들이 보믄 무쟈게 복잡한것 처럼 보이네요.
//=========== 그럼 아래껏을 보씨요.
//=========== 그냥 메인폼의....중앙에 폼이 위치하게 하는거여요...(좌우...)
left := (((r.right - r.Left) - width) div 2) + r.left;
show;
end;
end;
//=========== 아래 꺼슨.. 우에 꺼슬... 내맘대로 바꼬분거여요...
//=========== 이것도 똑같은 거싱께... 한번 해보셔요..
//=========== 우에꺼시 변수를 사용한거고.. 난 변수 사용안한거고..
//=========== 쓰잘떼기 없는 연산이 하나 줄었어요...
//=========== 쓸데없이 변수만들어 쓴고 쓸데없는 연산 하는
//=========== 우에꺼 보담은.. 훨씬 나슬꺼시요...
//=========== 자 이제 복창 하서유... 쓸모없는 연산을 없애자....
//=========== 없애자... 없애자...
procedure TForm1.show1Click(Sender: TObject);
begin
with application.mainform do
begin
form2.top := (((height) + form2.height) div 2 );
form2.left := (((Width) - form2.width) div 2) + BoundsRect.left;
end;
form2.show;
end;
//=========== 아고 타이삥 뜯기 힘드요.. 그믄 열씨미 공부하씨요...