請問Class問題? |
尚未結案
|
jim1247
一般會員 發表:8 回覆:20 積分:5 註冊:2003-01-30 發送簡訊給我 |
以下程式碼是用Delphi寫的
可否有先進幫忙轉成BCB?
自己試了很次一直有問題
我是初學者 請指教 type
TButtonGroup = class(TGroupBox)
private
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure OnClick(Sender: TObject);
public
constructor Create(Owner: TComponent); override;
destructor Destroy; override;
end; constructor TButtonGroup.Create(Owner: TComponent);
begin
inherited;
Button1 := TButton.Create(Self);
Button2 := TButton.Create(Self);
Button3 := TButton.Create(Self);
Button1.Parent := Self;
Button2.Parent := Self;
Button3.Parent := Self;
Button1.Name := 'Button7';
Button2.Name := 'Button8';
Button3.Name := 'Button9';
Button1.Top := 25;
Button2.Top := Button1.Top Button1.Height 10;
Button3.Top := Button2.Top Button2.Height 10;
Button1.Left := 28;
Button2.Left := 28;
Button3.Left := 28;
Button2.Enabled := False;
Button3.Enabled := False;
Button1.OnClick := OnClick;
Button2.OnClick := OnClick;
Button3.OnClick := OnClick;
end; destructor TButtonGroup.Destroy;
begin
Button1.Free;
Button2.Free;
Button3.Free;
inherited;
end; procedure TButtonGroup.OnClick(Sender: TObject);
begin
Button1.Enabled := False;
Button2.Enabled := False;
Button3.Enabled := False;
if Sender = Button1 then Button2.Enabled := True;
if Sender = Button2 then Button3.Enabled := True;
if Sender = Button3 then Button1.Enabled := True;
end; procedure TForm1.FormShow(Sender: TObject);
begin
BG := TButtonGroup.Create(Self);
BG.Parent := Self;
end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
BG.Free;
end;
|
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
請參考:
【發表】BCB6 及 Delphi 7 常用語法對照表
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39320 並多多利用本站搜尋功能。 -------------------------------
數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D
Anpinos Middle Earth http://anpino.hp.infoseek.co.jp/
-------------------------------
|
jim1247
一般會員 發表:8 回覆:20 積分:5 註冊:2003-01-30 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
jim1247:僅供參考: 於Form1拉一Button名稱設為CButton1(用於產生動態Button)。 Unit1.h private: // User declarations TList *Button_List; // 元件區 void __fastcall OnClick(TObject *Sender); Unit1.cpp #includeAndy Chang
------
Andy Chang |
jim1247
一般會員 發表:8 回覆:20 積分:5 註冊:2003-01-30 發送簡訊給我 |
可能我寫的不夠清楚@@
不然就是我領悟力太差><
再重新說一次好了 我想建立一個新的class
這個class叫TButtonGroup,是繼承自TGroupBox
內容為GroupBox裡面還有3個Button
有自己定義的onclick事件 我的問題是要如何在new此新calss時
會自動幫這個TButtonGroup裡的全部物件做初始化動作?
ex:
TButtonGroup *BG;
BG = new TButtonGroup(this); //在建立時即會把BG裡的Button也初始化
BG->Parent = Form1; //且包括BG的Top,Left等設定也初始化 以下是我原來的Code,有錯請指正
Unit1.h
#ifndef Unit1H
#define Unit1H #include
|
jim1247
一般會員 發表:8 回覆:20 積分:5 註冊:2003-01-30 發送簡訊給我 |
後來我自己跑去問人又試了一下
知道問題在那了QQ __fastcall TButtonGroup::TButtonGroup(TComponent* Owner)
: TGroupBox(Owner)
{
//這是建構函式 我一直不知道QQ
Button1 = new TButton(this);
Button2 = new TButton(this);
Button3 = new TButton(this);
Button1->Parent = this;
Button2->Parent = this;
Button3->Parent = this;
Button1->OnClick = OnClick;
Button2->OnClick = OnClick;
Button3->OnClick = OnClick;
Button1->Height = 20;
Button2->Height = 20;
Button3->Height = 20;
Button1->Width = 80;
Button2->Width = 80;
Button3->Width = 80;
Button1->Top = 10;
Button2->Top = 60;
Button3->Top = 110;
Button1->Left = 10;
Button2->Left = 10;
Button3->Left = 10;
Button1->Caption = "Button1";
Button2->Caption = "Button2";
Button3->Caption = "Button3";
Button1->Enabled = true;
Button2->Enabled = false;
Button3->Enabled = false;
} void __fastcall TForm1::FormShow(TObject *Sender)
{
BG = new TButtonGroup(this);
BG->Parent = Form1;
BG->Top = 10;
BG->Left = 10;
BG->Width = 400;
BG->Height = 300;
BG->Caption = "";
} 改成以上這樣就可正常運作 :)
謝謝之前大大的幫忙 m(_ _)m
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |