六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

BCB動態生成30個按鈕對象

[摘要]重要:BCB程序機制是:窗體上的所有對象與窗體本身都成為一個類:TForm1,我們就是將類成員與類成員函數寫到TForm1類中,程序運行時,實際上就是通過TForm1 類生成Form1對象,所以,Unit1.cpp中的函數都以void __fastcall TForm1::打頭,這就表明這些函數都...
重要:BCB程序機制是:窗體上的所有對象與窗體本身都成為一個類:TForm1,我們就是將類成員與類成員函數寫到TForm1類中,程序運行時,實際上就是通過TForm1 類生成Form1對象,所以,Unit1.cpp中的函數都以void __fastcall TForm1::打頭,這就表明這些函數都是TForm1類的類成員函數,它們可以調用在類中我們定義的類成員。當然,我們可以在Unit1.cpp中定義我們自己的變量和函數,供其它函數調用,這點符合C調用規范。當然,這種類外界的函數是不能調用到TForm1類中定義的類成員與類成員函數的,除非是公有成員與公有成員函數,但必須在公有成員與公有成員函數前加上對象名稱,即Form1->TForm1類公有成員(或TForm1類公有成員函數)。
1、本例是BCB面向對象設計的精髓,完全是利用類生成對象機制。
2、新建立一個BCB工程,在上面放一個按鈕Button1
3、Unit1.h
////---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: //// IDE-managed Components
        TButton *Button1;
        void __fastcall Button1ClickClick(TObject *Sender);
private: // User declarations
        ////定義類私有成員函數,用來刪除所有已生成的按鈕
        void __fastcall DeleteAllBn(void);
        ////定義類私有成員函數,用來生成共公響應事件
        void __fastcall BtnClick(TObject *Sender);
        ////定義大小為30的按鈕類對象
        TButton *Bn[30];
        ////用來記錄已生成按鈕的數量
        int BnCount;
public:  //// User declarations
        ////窗體類的構造函數
        __fastcall TForm1(TComponent* Owner);
        ////窗體類的析構函數
        __fastcall ~TForm1();
};
__fastcall TForm1::~TForm1()
{
  ////在析構函數中將已生成的按鈕對象刪除
  DeleteAllBn();
}
////---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
////---------------------------------------------------------------------------
#endif
4、Unit1.h
TForm1 *Form1;
////---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

//// 釋放所有資源
void __fastcall TForm1::DeleteAllBn(void)
{
  int ii;
  for(ii=0;ii<BnCount;ii++)
  {
    delete Bn[ii];
  }
}
////---------------------------------------------------------------------------
void __fastcall TForm1::Button1ClickClick(TObject *Sender)
{
  int ii,yy,ww;
  ww=12;yy=45;
  //// 釋放所有資源
  DeleteAllBn();
  ShowMessage("所有原先生成的資源都已釋放!!!按任意鍵重新生成!!!");
  for(ii=0;ii<30;ii++)
  {
    Bn[ii]=new TButton(this);
    Bn[ii]->Parent=this;
    ////置響應函數
    Bn[ii]->OnClick=BtnClick;
    Bn[ii]->Caption=IntToStr(ii);
    ////根據窗口的寬度布置按鈕的位置
    if(ww+Bn[ii]->Width+5>Width)
    {
      yy=yy+Bn[ii]->Height+5;
      ww=12;
    }
    Bn[ii]->Left=ww;
    Bn[ii]->Top=yy;
    ww=ww+Bn[ii]->Width+5;
  }
  ////標記當前生成了多少個按鈕
  BnCount=30;
}
////公共響應函數
void __fastcall TForm1::BtnClick(TObject *Sender)
{
  TButton *cn;
  cn=(TButton *)Sender;
  ShowMessage(cn->Caption);
}
////---------------------------------------------------------------------------


主站蜘蛛池模板: 日韩欧美一区二区不卡看片 | 在线看片欧美 | 欧美综合另类 | 一本久道久久综合婷婷 | 日韩一级二级三级 | 污视频在线免费 | 日韩欧美一区二区三区不卡视频 | 欧美一级片观看 | 亚洲欧美日韩在线不卡 | 亚洲日本欧美 | 伊人影院综合网 | 亚洲另类电击调教在线观看 | 婷婷欧美 | 日日干天天射 | 中文字幕在线天堂 | 香蕉啪 | 日本成人高清视频 | 亚洲 欧美 中文字幕 | 一级做a爰性视频 | 天天操 夜夜操 | 天堂网在线最新版官网 | 欧美在线 在线播放 | 午夜网站免费版在线观看 | 日韩黄色大片免费看 | 日韩在线视频线视频免费网站 | 欧美一区二区在线观看 | 香蕉成人福利片视频在线下载 | 午夜tv影院 | 四虎在线精品 | 天天躁日日躁成人字幕aⅴ 天天躁日日躁 疯人影院 | 深夜成人福利视频 | 日韩视频高清 | 午夜骚片 | 欧美一级啪啪 | 欧美网站在线观看 | 亚洲高清二区 | 色综合久久88色综合天天提莫 | 日韩精品永久免费播放平台 | 日本a网站 | 自偷自偷自亚洲首页精品 | 亚欧乱色一区二区三区 |