|
if (pForm != NULL) {
(TForm2*)pForm->Method(....);
}
--> 형변환 해주시면 되겠쪄?
깝깝한 도마뱀 님이 쓰신 글 :
: 위의 답변 감사합니다. 그런데..잘 돼지 않아서...다시 질문드립니다.
:
: 다음과 같이 하면 된다고 하셨는데요...
:
: 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해줘야지요..
: : 그럼 수고하세요
: :
|