Q&A

  • MDI에서 자식창의 컴포넌트 다루기.
안녕하십니까.



MDI에서 동일한 자식창을 여러개 동적으로 만들어서 MDI에서 버튼을 클릭시에 특정한



자식창의 페인트 박스에 특정한 모양을 그려주려고 하는데여.



그런데 그 특정한 자식창의 컴포넌트을 어떤식으로 메인에서 컨트롤을 할수 있나요.



제가 activemdichild을 쓰니깐 활성화된 자식창에 디스플레이가 되더군요.



그래서 MDIChildren[3] 것을 썼더니 활성화된 창에 따라 각각 다른창에 표시가 되던되여.



참고로 4개의 자식창을 동시에 보여주고여 각 자식창에 각각 다른 모양을 보여 줘야 되 거든요. Q&A을 다 보아도 참고 될만한 것이 없네여..



그럼 답변좀 부탁드립니다. 그리고 왜 MDIChildren[i]는 고정으로 되어 있는 것이 아닌가여 ???? ㅜ.ㅜ

2  COMMENTS
  • Profile
    타락천사 2000.09.16 11:15
    안녕하세요.. 타락임다...



    그렇게 어려우시면...



    기냥 윈도우 4개의 핸들을, 메인폼에 TList 만들어 넣어버리세요..



    그럼 항상 원하는 자식윈도에 접근 가능하죠..



    즐푸하세요..



    타락천사....





    창돌이 wrote:

    > 안녕하십니까.

    >

    > MDI에서 동일한 자식창을 여러개 동적으로 만들어서 MDI에서 버튼을 클릭시에 특정한

    >

    > 자식창의 페인트 박스에 특정한 모양을 그려주려고 하는데여.

    >

    > 그런데 그 특정한 자식창의 컴포넌트을 어떤식으로 메인에서 컨트롤을 할수 있나요.

    >

    > 제가 activemdichild을 쓰니깐 활성화된 자식창에 디스플레이가 되더군요.

    >

    > 그래서 MDIChildren[3] 것을 썼더니 활성화된 창에 따라 각각 다른창에 표시가 되던되여.

    >

    > 참고로 4개의 자식창을 동시에 보여주고여 각 자식창에 각각 다른 모양을 보여 줘야 되 거든요. Q&A을 다 보아도 참고 될만한 것이 없네여..

    >

    > 그럼 답변좀 부탁드립니다. 그리고 왜 MDIChildren[i]는 고정으로 되어 있는 것이 아닌가여 ???? ㅜ.ㅜ

  • Profile
    창돌이 2000.09.16 12:07
    답변주셔서 감사 합니다.



    그런데여 워낙 처버라. 말씀하시게 이해가 잘....



    다시 한번만. ㅜ.ㅜ



    예을 들어 먼저 4개의 자식창을 만들고여.

    var

    aform : Tview;

    i : integer;

    begin

    aform := MDIChildren[3];



    i := (aform as Tview).paintbox1.Width;



    end;



    만약에 이런식으로 하면 활성화된 자식창에 따라 MDIChildren[3]의 내용이 틀려집니다.



    워낙 초버라 각 폼의 컴퍼넌트를 참조 할때에는 앞에 form1.xxxx 이런식으로 클라스 이름이 들어가는게 맞지 않나여.

    그리고 핸들(?)로 조작을 한다면 핸들은 어디서 구하나여.

    그리고 핸들을 사용해서 참조할려면 어떻게 하나여.



    지성해여. 질문이 많아서. 답변좀 부탁여(예을 들어주시면 이해가 잘될것 같네여.



    그럼 즐푸하세여..