如何将 fmx 组件的访问权授予 firemonkey C++ 中的函数?

How to give acess to the components of the fmx to a function in firemonkey C++?

我基本上想改变组件的状态,为此,我正在做这样的事情

void desenharpilha2(TImage *b1, TImage *b2, TImage *b3,TImage *b4, TImage *b5)
{
        b1->Visible = False;
        b2->Visible = False;
        b3->Visible = False;
        b4->Visible = False;
        b5->Visible = False;
}

基本上,将我需要更改的所有组件传递给函数,但我确信有更好的方法。

简而言之,我需要一种方法让函数能够访问 FMX 的所有组件,而不必传递我要更改的所有对象,因为如果我需要更改,例如,15 个对象,代码会乱七八糟

使 desenharpilha2() 成为拥有您感兴趣的控件的 FMX 表单 class 的成员,例如:

class TMyForm : public TForm
{
__published:
    TImage *b1;
    TImage *b2;
    TImage *b3;
    TImage *b4;
    TImage *b5;
    ...
public:
    ...
    void desenharpilha2();
};

...

void TMyForm::desenharpilha2()
{
    b1->Visible = False;
    b2->Visible = False;
    b3->Visible = False;
    b4->Visible = False;
    b5->Visible = False;
}

然后您可以在需要时在运行时对所需的 Form 对象调用 desenharpilha2(),例如:

TMyForm *someForm = ...;
...
someForm->desenharpilha2();