-1

編集を開始するときと編集を終了するときに編集コントロールの色を変更したい、単一の関数でこれを実行したい、enterイベントまたはexitイベントで各編集のコードを追加したくない

4

2 に答える 2

3

はい、Davidとkobikが言ったように、OnEnterとOnExitのイベントハンドラーを作成し、それらを使用するコントロールを割り当てる必要があります。

例えば

フォームに2つの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

OnEnterおよびOnExitイベントハンドラーを作成し、それらを各コントロールに割り当てます。イベントのSenderパラメーターを使用して、イベントが適用されるコントロールを識別します。

于 2012-05-06T16:19:31.577 に答える