C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[4891] Re:Re: 자세한 내용을 알려주세요.
최은영 [] 2980 읽음    2001-01-12 20:44

: : 두개이상의 폼을 생성할경우에 어떻게 해야하는지 전혀 감을 못 잡고 있네요.
: : 제가 하려고 하는 것은 폼이 2개가 있는데 FORM1 이 메인 이고 FORM2가 있습니다.
: : 그런데 FORM2 에서 입력되는 값으로 FORM1이 동작하게 되어있습니다.
: : 그래서 프로젝트 옵션에서 메인으로 FORM1을 선택하고
: : FORM2가 엑티브되면 FORM2를 열리게는 했는데,(여기까지는 됩니다)
: : FORM2에서 버튼을 클리하면 텍스트 내용은 FORM1으로 전달하고 화면에서는 그 폼을
: : 안보이게 해야하거든요. 그리고 필요할때 다시 띠워야 하는데 어떤 명령어를 써야하는지
: : 모르겠습니다.
: : FORM2->Close()나 Hide()를 하니까 자꾸 에러가 뜹니다.
: : 아직 폼을 핸들하는 방법을 몰라서요..책을 보니 설명만 나와있고
: : 구체적으로 어떻게 쓰는지 예제가 없네요.
: : 고수님들의 답변을 기다리겠습니다.


//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormActivate(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit2.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{


}
//---------------------------------------------------------------------------
void __fastcall TForm2::ComboBox1Click(TObject *Sender)
{
              Edit1->Text=ComboBox1->Items->Strings[ComboBox1->ItemIndex];
}

//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
        Form1->Edit1->Text=Edit1->Text;
        Form2->Hide();//혹은 Form2->Close();
}
//---------------------------------------------------------------------------

가 소스 입니다.
form1 에는 버튼 하나와 텍스트
form2 에는 버튼 하나와 텍스트 콤보 박스가 있죠
두 form 모두 form style 은 fsnormal입니다.
메인은 form1입니다.
form2에 버튼을 클릭하면 form2에 있던 텍스트 내용이 form1의 텍스트로 잘가거든요.
근데 form2를 화면에서 안보이게 할려구요...자주 엑세스 하진 않지만 form2를 다시
불러서 써야 하는 경우가 있거든요...
위와 같이 하니까
Project Project1.exe raised exception class ElnvaludOperation with message 'Canno change
Visible in OnShow or Onhide'. Process stopped . Use Step or Run to continue.라는 메세지가
나옵니다.
책을 보니 Action 파라미터 들이 있던데 이런 것도 어떻게 쓰다는 예제가 없는
책이어서요...
부탁드려요....

+ -

관련 글 리스트
4884 [질문]2개 이상의 폼을 사용할 경우 어떻게 조작해야나요? 최은영 2970 2001/01/12
4888     Re:[질문]2개 이상의 폼을 사용할 경우 어떻게 조작해야나요? -> 자세한 내용을 알려주세요. 박지훈.임프 3001 2001/01/12
4891         Re:Re: 자세한 내용을 알려주세요. 최은영 2980 2001/01/12
4892             Re:Re:Re: 자세한 내용을 알려주세요. 박지훈.임프 3044 2001/01/12
4896                 Re:Re:Re:Re: 자세한 내용을 알려주세요. 최은영 2939 2001/01/13
4899                     Re:Re:Re:Re:Re: 자세한 내용을 알려주세요. 박지훈.임프 2979 2001/01/13
4904                         감사합니다..........................! 최은영 3005 2001/01/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.