Q&A

  • MainForm에서 Create한 Form을 함께 Resize하는 법
도와 주세요.



MainForm에는 FormStyle= fsNormal이며 Create 하여 Show로 보여지는 여러개의 ChildForm이 있습니다.

MainForm이 TempForm1, TempForm2, TempForm3...를 MainForm.Create() 의 pocedure에서 Create한 것이지요.



문제는 MainForm이 Resizing될때 MainForm이 Create한 ChildForm들 TempForm1, TempForm2, TempForm3등을 MainForm의 Resizing비율만큼 같이 Resizing을 해야 하는데 안되네요.



TempForm1,2,3에서 MainForm이 줄어든 것을 아는 방법은 없나요?

줄은 비율도 같이 알아야 겠구요....



도와주세요....





3  COMMENTS
  • Profile
    구창민 1999.08.26 05:37
    유희정 께서 말씀하시기를...

    > 도와 주세요.

    >

    > MainForm에는 FormStyle= fsNormal이며 Create 하여 Show로 보여지는 여러개의 ChildForm이 있습니다.

    > MainForm이 TempForm1, TempForm2, TempForm3...를 MainForm.Create() 의 pocedure에서 Create한 것이지요.

    >

    > 문제는 MainForm이 Resizing될때 MainForm이 Create한 ChildForm들 TempForm1, TempForm2, TempForm3등을 MainForm의 Resizing비율만큼 같이 Resizing을 해야 하는데 안되네요.

    >

    > TempForm1,2,3에서 MainForm이 줄어든 것을 아는 방법은 없나요?

    > 줄은 비율도 같이 알아야 겠구요....

    >

    > 도와주세요....

    >

    >





    유희정님 안녕하세요?

    생각보다는 간다할거 같습니다.

    MainForm의 Width, Height 를 기억할수 있는

    외부변수를 먼저 선언해 놓으시고,

    MainForm의 OnCreate 이벤트 핸들러에서 그 크기들을 대입해 둡니다.



    그후, MainForm의 OnResize의 이벤트 핸들러에서

    MainForm이 커지거나 작아진 만큼,

    (이 연산은 아까 선언해둔 외부변수로..)

    다른 폼들도 크기에 변화를 주면 될거 같네요.

    그럼.. 즐거운 프로그래밍 되시길~

  • Profile
    유희정 1999.08.26 20:33
    구창민 께서 말씀하시기를...

    > 유희정 께서 말씀하시기를...

    > > 도와 주세요.

    > >

    > > MainForm에는 FormStyle= fsNormal이며 Create 하여 Show로 보여지는 여러개의 ChildForm이 있습니다.

    > > MainForm이 TempForm1, TempForm2, TempForm3...를 MainForm.Create() 의 pocedure에서 Create한 것이지요.

    > >

    > > 문제는 MainForm이 Resizing될때 MainForm이 Create한 ChildForm들 TempForm1, TempForm2, TempForm3등을 MainForm의 Resizing비율만큼 같이 Resizing을 해야 하는데 안되네요.

    > >

    > > TempForm1,2,3에서 MainForm이 줄어든 것을 아는 방법은 없나요?

    > > 줄은 비율도 같이 알아야 겠구요....

    > >

    > > 도와주세요....

    > >

    > >

    >

    >

    > 유희정님 안녕하세요?

    > 생각보다는 간다할거 같습니다.

    > MainForm의 Width, Height 를 기억할수 있는

    > 외부변수를 먼저 선언해 놓으시고,

    > MainForm의 OnCreate 이벤트 핸들러에서 그 크기들을 대입해 둡니다.

    >

    > 그후, MainForm의 OnResize의 이벤트 핸들러에서

    > MainForm이 커지거나 작아진 만큼,

    > (이 연산은 아까 선언해둔 외부변수로..)

    > 다른 폼들도 크기에 변화를 주면 될거 같네요.

    > 그럼.. 즐거운 프로그래밍 되시길~



    외부변수를 써서 강제적으로 TempForm의 Size를 줄이는데 성공하였습니다.



    한가지 더 질문한다면 MainForm이 Resize될때 TempForm에서 MainForm이 줄었다는 Message를 알고 싶습니다. 또 MainForm으로 부터 Argument도 받고 싶습니다.

    이럴때는 어떻게 해야하는지... 책에는 Dispatch혹은 메시지 트랩이라고 뭐라고 나와있는데 자세히 나오지 않아서 말이예요. 자료 가지고 계시면 부탁드립니다.







  • Profile
    구창민 1999.08.26 21:23
    유희정 께서 말씀하시기를...

    > 구창민 께서 말씀하시기를...

    > > 유희정 께서 말씀하시기를...

    > > > 도와 주세요.

    > > >

    > > > MainForm에는 FormStyle= fsNormal이며 Create 하여 Show로 보여지는 여러개의 ChildForm이 있습니다.

    > > > MainForm이 TempForm1, TempForm2, TempForm3...를 MainForm.Create() 의 pocedure에서 Create한 것이지요.

    > > >

    > > > 문제는 MainForm이 Resizing될때 MainForm이 Create한 ChildForm들 TempForm1, TempForm2, TempForm3등을 MainForm의 Resizing비율만큼 같이 Resizing을 해야 하는데 안되네요.

    > > >

    > > > TempForm1,2,3에서 MainForm이 줄어든 것을 아는 방법은 없나요?

    > > > 줄은 비율도 같이 알아야 겠구요....

    > > >

    > > > 도와주세요....

    > > >

    > > >

    > >

    > >

    > > 유희정님 안녕하세요?

    > > 생각보다는 간다할거 같습니다.

    > > MainForm의 Width, Height 를 기억할수 있는

    > > 외부변수를 먼저 선언해 놓으시고,

    > > MainForm의 OnCreate 이벤트 핸들러에서 그 크기들을 대입해 둡니다.

    > >

    > > 그후, MainForm의 OnResize의 이벤트 핸들러에서

    > > MainForm이 커지거나 작아진 만큼,

    > > (이 연산은 아까 선언해둔 외부변수로..)

    > > 다른 폼들도 크기에 변화를 주면 될거 같네요.

    > > 그럼.. 즐거운 프로그래밍 되시길~

    >

    > 외부변수를 써서 강제적으로 TempForm의 Size를 줄이는데 성공하였습니다.

    >

    > 한가지 더 질문한다면 MainForm이 Resize될때 TempForm에서 MainForm이 줄었다는 Message를 알고 싶습니다. 또 MainForm으로 부터 Argument도 받고 싶습니다.

    > 이럴때는 어떻게 해야하는지... 책에는 Dispatch혹은 메시지 트랩이라고 뭐라고 나와있는데 자세히 나오지 않아서 말이예요. 자료 가지고 계시면 부탁드립니다.

    >

    >

    >



    TempForm의 Size의 변화를 일으킬때가 MainForm의 Size에 변화가 있을때라면,

    말씀하신 내용이 필요가 없을 듯 합니다.

    서브클래싱을 이용한다고 해도 메세지를 전달하는 것과 다를 바가

    없는 결과이기 때문입니다. 왜냐하면, OnResize이벤트 핸들러가

    서브클래싱을 한 결과이기 때문입니다.

    그러므로 작업하신 내용과 상이하게 될겁니다.

    구지 MainForm에서 특정메세지를 전달받고 싶으시다면 사용자정의

    메세지를 상수로 정의하여 SendMessage함수를 사용해 보세요.

    예제는 델파이 헬퍼의 팁/강좌란에 보시면 몇몇 유사한 내용을 보실수

    있을 겁니다.

    그럼 즐거운 프로그래밍 되시길~