-1

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

4

2 回答 2

3

是的,就像大卫和科比克说你只需要为 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;
}

而已。

于 2012-05-06T18:12:43.497 回答
1

Write OnEnter and OnExit event handlers and assign them to each control. Use the Sender parameter to the event to identify which control the event applies to.

于 2012-05-06T16:19:31.577 回答