|
'타이틀바 포커스가 있는 차일드'의 Canvas에 작업하시려면 parent의 ActiveMDIChild를 사용하시면 됩니다.
그리고 참고로,
MDI Parent 에는 MDIChildCount, MDIChildren 속성이 있습니다.
MDIChildren은 TForm*을 원소로 같는 배열입니다.
주의할 것은 이 배열 내에서 각 차일드의 인덱스는 동적으로 변한다는 것입니다.
예를 들어, 특정 차일드의 포인터를 사용하여 SetFocus()하면 그 차일드가
배열에서 0번 인덱스를 갖게 되는 것입니다.
궁금이 님이 쓰신 글 :
: MDI에서 차일드폼의 캔버스에 여러가지 챠트를 그리는 프로그램입니다.
:
: 차일드폼이 하나일때는 큰 문제가 없는데...
:
: 차일드 폼이 두개이상되면 타이틀바의 포커스는 마지막에 생성된 차일드폼에 가있는데...
:
: 예를 들어 각 폼에 에디트 박스가 있다고치면 다른 폼의 에디트 박스에 키포커스가 가있습니다.
:
: 타이틀바의 포커스가 있는 폼과 키가 먹는 폼과 서로 틀려서....꼭 마우스로
:
: 다른 폼을 찍었다가 다시 마지막폼을 찍어줘야 제대로 포커스가 가는군요...
:
: 그 한번 제대로 포커스가 가면 그 담부터는 문제가 없거든요
:
: 타이틀바의 포커스와 키의 포커스를 강제적으로라도 같게 할 수는 없을까요?
:
: TMDIChild *pForm = new TMDiChild(Application);
: .
: .
: 생략
: .
: .
: pForm->SetFocus();
:
: 이렇게 해도 안되고....
: 어떻게 해야 하까여...
|