关闭

全局 autoform 变量调用

635人阅读 评论(0) 收藏 举报

在我们常作的form中,一个autoform 往往是new 出来的,所以显示习惯这样:

在.CPP中
#include "UnitMain.h"
#include "Unit1.h"

void __fastcall TFormMain::Button1Click(TObject *Sender)
{
    TForm1 *frm1 = new TForm1(this);
    frm1->ShowModal();
    delete frm1;
}

同样道理,可以用全局的变量进行调用,主要适合针对autoform是功能较多的提示信息,或者form主要体现的目的比较明确的程序中用法如下:

unit1.h 中
#ifndef OpenGL_Ut1H
#define OpenGL_Ut1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public:  // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
extern PACKAGE TForm1 *FormFeng;                  // 可以调用FormFeng 的界面,以form1界面复制
extern PACKAGE TForm1 *FormHaiqian;             // 可以调用FormFeng 的界面,以form1界面复制

//---------------------------------------------------------------------------
#endif

在.CPP中
#include "UnitMain.h"
#include "Unit1.h"

void __fastcall TFormMain::Button1Click(TObject *Sender)
{
    // 区别于 =========== TForm1 *frm1 = new TForm1(this);
    FormFeng= new TForm1(Application);    /* 注意,这里依然要new出界面。 FormFeng 只是在一个全局变量,声明过,但是没有实例化,需要实例化 同理:FormHaiqian= new TForm1(Application);*/
    FormFeng->ShowModal();
    delete FormFeng;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23084次
    • 积分:438
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:1篇
    • 译文:0篇
    • 评论:4条
    最新评论