Não precisa de nada disso não. Basta olhar um exemplo de um evento que é criado automaticamente pelo Delphi e criar um igual. Veja esses exemplos que fiz para compartilhar nos eventos OnEnter e OnExit de alguns componentes.
procedure edtAuxEnter(Sender: TObject); procedure edtAuxExit(Sender: TObject); procedure TfrmCadastro.edtAuxEnter(Sender: TObject); begin if (Sender is TDbEdit) then (Sender as TDBEdit).Color := clSilver else if (Sender is TDbMemo) then (Sender as TDBMemo).Color := clSilver else if (Sender is TDBComboBox) then (Sender as TDBComboBox).Color := clSilver else if (Sender is TMaskEdit) then (Sender as TMaskEdit).Color := clSilver else if (Sender is TEdit) then (Sender as TEdit).Color := clSilver; end; procedure TfrmCadastro.edtAuxExit(Sender: TObject); begin if (Sender is TDbEdit) then (Sender as TDBEdit).Color := clWindow else if (Sender is TDbMemo) then (Sender as TDBMemo).Color := clWindow else if (Sender is TDBComboBox) then (Sender as TDBComboBox).Color := clWindow else if (Sender is TMaskEdit) then (Sender as TMaskEdit).Color := clWindow else if (Sender is TEdit) then (Sender as TEdit).Color := clWindow; end; [As partes desta mensagem que não continham texto foram removidas]