如何在c ++ builder中通过单个函数更改10 Edit控件的颜色

时间:2012-05-06 13:31:36

标签: c++ delphi api c++builder

我想在进入编辑时和编辑退出时更改编辑控件的颜色,我想通过单个功能执行此操作我不想为输入事件或退出事件中的每个编辑添加代码

2 个答案:

答案 0 :(得分:3)

是的,大卫和kobik说你只需要为OnEnter和OnExit创建事件处理程序并分配你想要使用它们的控件

例如

将两个TEdit添加到表单中,并在表单的构造函数中执行以下操作

__fastcall TTestForm::TTestForm(TComponent* Owner)
    : TForm(Owner)
{
    Edit1->OnEnter = EditEnter;
    Edit2->OnEnter = EditEnter;

    Edit1->OnExit = EditExit;
    Edit2->OnExit = EditExit;
}

现在创建像这样的Enter和Exit事件处理程序

void __fastcall TTestForm::EditEnter(TObject *Sender)
{
    TEdit *Temp = (TEdit*)Sender;
    Temp->Color = clRed;
}

void __fastcall TTestForm::EditExit(TObject *Sender)
{
    TEdit *Temp = (TEdit*)Sender;
    Temp->Color = clGreen;
}

多数民众赞成。

答案 1 :(得分:1)

编写OnEnter和OnExit事件处理程序并将它们分配给每个控件。使用事件的Sender参数来标识事件适用的控件。