|
위의 답변 감사합니다. 그런데..잘 돼지 않아서...다시 질문드립니다.
다음과 같이 하면 된다고 하셨는데요...
TForm* pForm = MainForm->MDIChildren[3];
위와 같이 해주면. pForm은 TForm형이고요...
제가 Access하고자하는 것은 Form2(자식폼)위의 컴포넌트나
Method인데요.
Form2는 타입이 TForm2형인데요...
서로 타입이 맞지 않아서..Form2의 컴포넌트나 Method를 사용이
안돼지 않나요????
다시 한번 답변 부탁드립니다.
그럼.....좋은 하루 되세요
류현 님이 쓰신 글 :
: 도마뱀 님이 쓰신 글 :
: : MDIChild의 동적 생성후 Access에 대한 질문입니다.
: : TImage 컴포넌트가 있는 MDIChild 창을 열개를 동적으로 생성했을때....
: : 예를 들어 세번째 생성된 MDIChild 창을 클릭하면....
: : 세번째 창이 제일 위에 보여지긴 하는데....
: : Access하려면 제일 마지막에 생성된폼(열번째 폼) 만 Access가 가능합니다.
: : 세번째 폼의 TImage 컴포넌트나 기타 Method들을 Access하려면 어떻게 해야 합니까...//???
: : 부모창의 Children[i]에 자식창이 저장되는건 알겠는데.
: : Access하는 방법을 모르겠습니다.
: :
: : void __fastcall TForm2::Button1Click(TObject *Sender)
: : {
: : int data=0;
: : for(int x=0;x<256;x++)
: : {
: : for(int y=0;y<256;y++)
: : {
: : data=GetRValue(Form2->Image1->Canvas->Pixels[x][y])+100;
: : if(data>255)Image2->Canvas->Pixels[x][y]=RGB(255,255,255);
: : else Image2->Canvas->Pixels[x][y]=RGB(data,data,data);
: : }
: : }
: : }
: : 위와 같은 코드가 있으면....세번째 폼이 활성화 되어 있어도...
: : 열번째 폼에서...결과가 나타나네요...
: :
: : 그리고 추가질문입니다.
: : 폼을 동적생성 한후에 폼이 종료될때
: : Action=caFree;
: : 을 하게 되면....그 폼에서 사용되던 다른 컴포넌트들도 자동으로 해제되는지요????
: :
: : 답변 부탁드립니다.
:
: //------------
: 안녕하세요
: 간단히 TForm* pForm = MainForm->MDIChildren[3];
: 폼포인트 얻어서 요걸로 사용하면 될것같고..
: 만약 Active변경시키기 위해서도 간단히
: 위에서 받은 폼포이터를 pForm->BringToFront(); 하면 ActiveMDiChild도 변경될것같네요^^;
: 글구 다른 컴포넌트들도 자동으로 해제된다는것은 구체적으로 무엇을 얘기하는지 잘 모르겠지만
: MDI Child폼에 Action=caFree해주시면 다른 컴퍼넌트들도 해지되지만 new로 생성한것들은
: delete해줘야지요..
: 그럼 수고하세요
:
|