从函数中修改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
对象。您必须:

  • make
    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(标题表)都与单元关联,它们的名称相同。