|
Form2의 Vislble 속성을 true로 하고
아래와 같이 코딩해보세요..
//---------------------------------------------------------------------------
// 어떤 조건
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Form2->Close();
Timer1->Enabled = false;
}
이렇게 하면 복잡한 API를 사용하지 않으셔도...
공부하는 이 님이 쓰신 글 :
: form1, form2를 처음부터 생성해놓고 form1만 화면에 떠 있는 상태에서 어떤 조건이 되면 form2를 show() 한후, form1에 있는 타이머에서 일정 시간이 지나면 form2->Hide() 하려고 합니다. (form2->FormStyle 은 fsStayOnTop 입니다.) 문제는, form2가 show되어있는 상태에서 프로그램을 작업표시줄에 최소화 시켜놓고, 일정 시간이 다 지난 후 프로그램을 확인해 보면 hide되어 있어야 할 form2가 여전히 화면에 보입니다. 그 이후에는 form1에서 아무리 hide()메소드를 줘도 숨지를 않네요.
: form1에서 계속적으로 form2의 데이터에 접근하기 때문에 form2를 동적으로 생성/소멸 시키기도 힘든 상황입니다.
:
: 최소화되어 있는상태에서도 hide되는 방법이 있는지 좀 도움 부탁드립니다.
|