Application.CreatForm이 어떤때 사용을 하는 것인가요.. ?
또 Showmodal과는 어떤 차이인가요..
이밖에 폼을 보여주는게 또 하나 있던거 같은데..TForm1.Create(Application)
또는 Form.Show등등이 있는데..
이런 표현도 쓰던데.. 이것들이 다 어떻게 사용되는 것인지요..
1.Application.CreatForm
2.Form.Showmodal
3.Form1.Create(Application)
4.Form.Show
모두다 폼에 관련한 것인거 같은데.. 도대체가 차이를 모르겠어요..
예를 들어 버튼을 눌렀을때 또하나의 폼이 나타나게 할려고 하는데.. 어떤곳은 Application.CreatForm를 하고 어떤데는 Showmodal를 하기도 하고 차이점 좀 알려주세요..
도움이 되시길....
MDI 와 SDI Form
MDI와 SDI는 Form Style에서 정해주는데 MDI는 MDI Form과 MDI Child로 나뉜다.
MDI Child는 독립적으로 존재할 수 없으며 반드시 MDI Form이 있어야만 한다.
MDI Child는 MDI Form에 종속된-벗어날 수 없는-형태로서 존재하며 Main Form이 MDI인 경우 MDI Child와 SDI 형태 모두 존재 가능하지만 Main Form이 SDI인 경우 MDI 형태의 Child Form 은 존재할 수 없다.
SDI 는 각자의 윈도우가 각각 독립적으로 다른 프로그램처럼 움직이며 각자의 폼은 서로 구애받지 않는다.
2). SDI Form
SDI는 일반적으로 보아왔던 모든 폼들을 생각하면 이해가 빠를 것이다. 여러 가지 형태로 폼을 띄울 수 있는데 아래와 같은 종류가 있다.
(1). Available Form과 AutoCreate Form
① Available Form은 프로그램이 실행될 때 메모리에 폼을 생성시키지 않고 필요에 의해 생성시킨다.
② AutoCreate Form은 프로그램이 실행될 때 메모리에 모두 적재되며 Show나 ShowModal명령으로 실행시킨다.
(2). From1에서 Form2를 띄울때의 차이
① Available Form
Application.CreateForm(TForm2,Form2);
Form2.Show;
② AutoCreate Form
Form2.Show;
(3).모달폼과 모델리스폼
① Modal Form
모달폼이 실행되면 그 폼만이 포커스를 가지며 다른 폼으로 포커스가 이동할 수 없다. 이는 DB에서 야기될 수 있는 오 입력을 방지할 수 있다. 이 명령은 아래의 명령으로 실행시킨다.
Form2.ShowModal;
② ModeLess Form
모델리스 폼은 각자가 하나의 독립적인 프로그램처럼 동작하며 포커스 또한 자유롭게 이동이 가능하다. 이 명령은 아래의 명령으로 실행시킨다.
Form2.Show;
3). 특수한 폼
■ Stay On Top
■ Stay On Top은 FormStyle중의 하나이며 Modal 폼을 만들 수 없는데 modal폼처럼 사용하고자 할 때 종종 사용한다. 다른 폼으로 포커스가 이동해도 폼은 늘 최상위에 보이게 된다. 그러나 종종 에러메세지도 아래에 보이는 경우가 있으므로 주의를 요한다. 이 명령은 아래의 명령으로 실행시킨다.
Form2.FormStyle := fsStayOnTop;
Form2.Show;
sun wrote:
> Application.CreatForm이 어떤때 사용을 하는 것인가요.. ?
>
> 또 Showmodal과는 어떤 차이인가요..
> 이밖에 폼을 보여주는게 또 하나 있던거 같은데..TForm1.Create(Application)
> 또는 Form.Show등등이 있는데..
> 이런 표현도 쓰던데.. 이것들이 다 어떻게 사용되는 것인지요..
> 1.Application.CreatForm
> 2.Form.Showmodal
> 3.Form1.Create(Application)
> 4.Form.Show
>
> 모두다 폼에 관련한 것인거 같은데.. 도대체가 차이를 모르겠어요..
>
> 예를 들어 버튼을 눌렀을때 또하나의 폼이 나타나게 할려고 하는데.. 어떤곳은 Application.CreatForm를 하고 어떤데는 Showmodal를 하기도 하고 차이점 좀 알려주세요..
>
>
>