读书人

高手帮忙看看这是如何一回事

发布时间: 2012-03-18 13:55:39 作者: rapoo

高手帮忙看看这是怎么一回事
在窗口创建事件中有下面这段代码

BitBtnX = new TBitBtn(this);
BitBtnX->Parent = ScrollBox1;
BitBtnX->Width = 36 ;
BitBtnX->Height = 36 ;
BitBtnX->Left = 5;
BitBtnX->Top = dwtop;
AnsiString str1 = "name1";


BitBtnX->Name = str1;

dwtop += 2 + 36;

BitBtnX->OnClick = CustomClick;
BitBtnX = new TBitBtn(this);
BitBtnX->Parent = ScrollBox1;
BitBtnX->Width = 36 ;
BitBtnX->Height = 36 ;
BitBtnX->Left = 5;
BitBtnX->Top = dwtop;
AnsiString str2 = "name2";


BitBtnX->Name = str2;

dwtop += 2 + 36;

BitBtnX->OnClick = CustomClick;


void __fastcall TForm2::CustomClick(TObject *Sender)
{



AnsiString str1 = ((TBitBtn*)Sender)->Name ;

::MessageBox(NULL,str1.c_str(),"",NULL );

}


我想达到的效果是。这段代码创建两个按钮,单击按钮能弹出按钮的name。实际上,单击两个按钮弹出的都是name2字符串,也就是按钮2的名称。创建两个按钮的时候明明给两个按钮给了不同的名称(相同名称也创建不了啊),但是分别单击两个按钮,却都弹出后创建的按钮的名称,百思不得其解。

谢谢大家帮忙。

[解决办法]
我用你的代码试了下,弹出的分别是name1和name2的呀????????

读书人网 >C++ Builder

热点推荐