아...매일 질문하는 종민입니다...
제가 form을 두개 만들었답니다...
둘다 자동생성폼입니다...
Main 폼과 Sub 폼이죠...
근데...두 폼을 다 보이게 하고자 합니다...
그래서 두 폼의 visible 속성을 True로 바꾸었더니...
Sub 폼이 활성화되더군요...
결국...Sub 폼만 True로 해야 두 폼이 다 나오고...
Main 폼이 활성화되더군요...
근데 어떻게 이런 결과가 나오는지 잘 이해가 안 되네요...
visible이란 속성은 맨 앞에 보이게 하는 속성 아닌가요?
설명 좀 해주세요~~~
오늘 질문은 간단하죠~~~
그럼...답변 기대하면서...(넘 쓸데없는 질문인가요?)
> 아...매일 질문하는 종민입니다...
> 제가 form을 두개 만들었답니다...
> 둘다 자동생성폼입니다...
> Main 폼과 Sub 폼이죠...
> 근데...두 폼을 다 보이게 하고자 합니다...
> 그래서 두 폼의 visible 속성을 True로 바꾸었더니...
> Sub 폼이 활성화되더군요...
> 결국...Sub 폼만 True로 해야 두 폼이 다 나오고...
> Main 폼이 활성화되더군요...
> 근데 어떻게 이런 결과가 나오는지 잘 이해가 안 되네요...
> visible이란 속성은 맨 앞에 보이게 하는 속성 아닌가요?
> 설명 좀 해주세요~~~
> 오늘 질문은 간단하죠~~~
> 그럼...답변 기대하면서...(넘 쓸데없는 질문인가요?)
이재식 Wrote :
안녕하세요?
이유는 간단합니다.
바로 Visible속성와 project메뉴/option/forms와
관련이 있습니다.
서브폼을 auto-create했으니까 그냥 서프폼을 보일때는
show나 visible := true이렇게 했겠죠?
그런데, form의 속성에서 visible을 true로 하고
그것을 project/option/forms에서 auto-create쪽에 있으면
있는 순서대로 다 한번씩 보여줍니다.
즉, 만약 form이 3개가 있고 이 3개의 폼 모두 visible속성을
true로 했고, auto-create를 했다 합시다.
그리고, project/option/forms에서 auto-create의 순서가
form1,form2, form3 라고 가정하고
실행을 시키면 아마 맨처음 보이는 폼이 form3일 것이고
그것이 활성화 되어 있을 것입니다.
즉, auto-create생성시 visible속성을 true로 하면
pro/optio/forms의 등록 순서대로 보여주고 맨 마지막에 있는
폼이 활성화 되어 있는 것이죠.
그런데, form1을 visible을 false하고 form2의 visible를 true
로 해보세요. 아마 form1이 활성화될 것입니다.
즉, 결론을 내리면 다음과 같습니다.
메인폼을 기준으로 합니다.
메인폼의 visible속성이 false이면 메인폼의 임무를 다하기
위해서 일단 메인폼이 보여집니다. 메인폼 활성화
그런데, 이것이 true이면 다소 헐렁해져서
뒤에 또 어떤폼이 visible이 true가 있는것이 있으면
그 쪽으로 활성화제어가 넘어갑니다.
아무것도 visible속성이 true인것이 없으면
메인폼이 활성화 되어있는 거죠.
다시 예를 들면, 메인폼의 visible속성이 false,
서브폼 visible 속성이 true다.
그럼 어떻게 됩니까?
맞습니다. 바로 메인폼이 보이고 그것이 활성화 됩니다.
왜냐하면, 메인폼을 기준으로 이것이 false이면 우선 임무를
다하기위해 처음 보이고 활성화 되는 것입니다.
즉, 서브폼이 비록 visible이 true라 하더라도 메인으로서의
임무를 위해 활성화를 가집니다.
그러나, 메인폼 visible속성이 true라고 합시다.
그럼 어떻게 됩니까?
맞습니다. 메인폼 visible속성이 true이면 임무가 헐렁해져서
그 뒤에 또 visible속성이 true인것에 제어가 넘어갑니다.
즉, 서브폼이 보이겠죠.
즉, visible속성이 true일때 이것을 showModal로 띄우려고
해보세요. 에러메시지가 나올 것입니다.
물론 Modal특성때문이기도 하지만, 이것역시 Visible속성과도
관계가 있답니다.
즉, 실제로 폼은 showWindow라는 API함수를 이용해서 보여집니다.
이때 visible속성이 내부적으로 쓰입니다.
그런데, 이것이 true로 되어있으면 보여졌다고 가정합니다.
그래서, 제어권을 윈도우즈에 주는 것이고,
이것은 결국 폼은 활성화를 빼아긴다는 의미가 되겠죠.