如何操作动态创建的控件
choge 2010-12-19 07:40:58 Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
ALM Alarm;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Alarm.Close();
}
Unit2.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
ALM::ALM()
{
TForm *Form1 = new TForm((void*)(0));
Form1->BorderIcons<<biMaximize<<biMinimize<<biSystemMenu;
Form1->BorderStyle=bsDialog;
Form1->Width=400;
Form1->Height=300;
Form1->Show();
//AlmForm->ShowModal();
//delete Form1;
}
ALM::Close()
{
Form1->Close();
}
Unit2.h
//---------------------------------------------------------------------------
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
class ALM
{
public:
ALM();
Close();
private:
TForm *Form1;
};
#endif
//---------------------------------------------------------------------------
新建一个工程,放一个按钮Button1。
新建一个Unit2,定义一个类ALM,初始化ALM时动态创建一个窗体。
要求点Button1时,关闭动态创建的窗体。
实测窗体已创建,关闭时出错,请高手帮忙分析