이렇게 해보시길..
var
Child: TChildForm;
begin
LockWindowUpdate(ClientHandle); // 화면 출력을 막는다.
Child := TChildForm.Create(Self); // 차일드 폼을 생성한다
with Child do // 차일드 폼의 좌표와 크기를 조정
begin
Left := 0;
Top := 0;
Width := 800;
Height := 600;
end;
LockWindowUpdate(0); // 화면 출력을 재개.
end;
결과적으로 LockWindowUpdate란 윈도 API함수를 이용하여
화면출력을 버퍼링 함으로써 차일드 폼이 변화되는 과정을 안보이도록 막는 것입니다.
즐거운 하루, 즐거운 인생 civilian
김지훈 님이 쓰신 글 :
: MDI형식으로 프로그램을 작성하였구여... MAIN메뉴에서 각각 메뉴의 버튼을 눌렀을 때마다...
: 거기에 맞는 서브폼이 생성되는 방식으로 구현을 하였습니다.. 그런데 문제는. 각 창의 호출마다 창이 생성되는 과정이 보여 진다는 것입니다. 처음에 작은 창으로 생성되었다가 --> 애니메이션 효과를 내면서 쭉~~
: 늘어나며 최대창 크기가 된다는 거져..
:
: 물론 각 서브 창들은 윈도우 상태가 최대 창크기이고, 각 버튼을 눌러 서브창을 호출시 전에 나타내던 창을 종료하게 되어있습니다. 단 한개의 서브창만 있다는 거져...(버튼을 눌렀을 때마다 이전창은 닫고, 해당 창을 생성하는 방식입니다.)
:
: 서브폼들을 자연스럽게 변하도록 하여야되는 데... 애니메이션 효과가 눈에 거슬리는 군요.... 방법도 못찾고요..
:
:
: 고수님들의 조언 부탁드립니다..ㅠㅠ
:
|