#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Form2 == NULL) Form2 = new TForm2(this);
Form2->Show();
Form2->WindowState = wsNormal;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if(Form3 == NULL) Form3 = new TForm3(this);
Form3->Show();
Form3->WindowState = wsNormal;
}
//---------------------------------------------------------------------------
하안인 님이 쓰신 글 :
:
: 메인폼에서 버튼 2개를 만들어서 버튼 하나는 폼2를 만들고 다른 버튼 하나는 폼3을
: 만들도록 하고 싶습니다.
: 다시 처음 버튼을 누른경우 폼이 보여지고 있는 상태인지 확인해서
: 폼이 생성되어 있으면 다시 생성하지 않고 그 화면이 최소화 되어 있던 다른 화면에 가려져 있던
: 앞으로 이동하려면 어떻게 해야 하나요.
:
: 다음과 같이 하니 처음 버튼을 두번 누르니 SetFocus()에서 에러가 나네요.
:
: void __fastcall TMainForm::suiButton1Click(TObject *Sender)
: {
: int i;
: bool b = false;
: for(i = 0; i < ComponentCount; i++)
: {
: if(Components[i]->ClassNameIs("TForm_Recv"))
: {
: b = true;
: Form_Recv->BringToFront(); --> 에러 발생 (Show() 로 해서 에러가 발생되고요.
: }
: }
: if(b == false)
: {
: TForm_Recv *Form_Recv = new TForm_Recv(this);
: Form_Recv->Show();
: }
: }
:
|