从函数中修改TEdit对象属性 我有一个C++ Builder项目(VCL),在表单上有一个TEDIT按钮(Eddi1)。我希望能够从我正在构建的函数中设置TEdit按钮的文本属性。如何从函数中执行此操作 void __fastcall MyFunction(int myNum ) { ShowMessage(String(myNum)); //Edit1->Text = "Howdy"; // this is the line of code that won't work return; }
下面是我表单上调用上述函数的按钮从函数中修改TEdit对象属性 我有一个C++ Builder项目(VCL),在表单上有一个TEDIT按钮(Eddi1)。我希望能够从我正在构建的函数中设置TEdit按钮的文本属性。如何从函数中执行此操作 void __fastcall MyFunction(int myNum ) { ShowMessage(String(myNum)); //Edit1->Text = "Howdy"; // this is the line of code that won't work return; },function,c++builder,vcl,Function,C++builder,Vcl,下面是我表单上调用上述函数的按钮 void __fastcall TTabbedForm::Button1Click(TObject *Sender) { MyFunction(55); // just throw integer 55 for a test } 谢谢,, russMyFunction不是TTabbedForm类的成员,因此它不能直接访问Edit1对象。您必须: makeMyFunction使用表单的全局指针访问Edit1对象(指针在表单的.hpp文件中声明),前提是表单
void __fastcall TTabbedForm::Button1Click(TObject *Sender)
{
MyFunction(55); // just throw integer 55 for a test
}
谢谢,,
russ
MyFunction
不是TTabbedForm
类的成员,因此它不能直接访问Edit1
对象。您必须:
MyFunction
使用表单的全局指针访问Edit1
对象(指针在表单的.hpp
文件中声明),前提是表单对象在运行时自动创建,或者如果手动实例化表单对象,则至少分配给全局指针:
void\uuu快速调用MyFunction(int myNum)
{
ShowMessage(myNum);
TabbedForm->Edit1->Text=“Howdy”;
}
按钮1单击()
将Edit1
对象指针传递到MyFunction()
:
void\uu快速调用MyFunction(int-myNum,TEdit*TheEdit)
{
ShowMessage(myNum);
编辑->文本=“你好”;
}
void\uu快速调用TTabbedForm::按钮1单击(ToObject*发送方)
{
MyFunction(55,Edit1);
}
MyFunction()
成为表单类的成员,然后它可以直接访问Edit1
对象(通过隐式this
指针):
TTabbedForm类:公共TForm
{
私人:
...
void u快速调用MyFunction(int myNum);//*/Edit1->Text=“Howdy”;
}
你是想在TButtonedIt或TButtonedIt控件中更改TEditButton上的标题吗?谢谢你,Remy,这再清楚不过了。非常感谢。顺便说一下,当我尝试您的解决方案3时,我得到一个错误:“TababyFrime: MyFoint(int)不是TababBead的成员。”解决方案1和2工作得很好。@对于RayaMy357,对于3,您必须在代码< >代码> TababyFrase< /Cord>类声明中添加<代码> TyabBase< /C++ >类声明。(实现表)和.h(标题表)都与单元关联,它们的名称相同。