Schlüsselwort 'override' ist hier nicht notwendig, weil die Botschaft zuerst an deine Klasse geht.
Wird die Botschaft nicht behandelt, wird die Klassenhierarchie aufgestiegen bis zum obersten TObject (dort passiert dann gar nichts mit der Botschaft)
Du kannst selbst steuern, ob die Botschaft zu deiner Basisklasse weitergeleitet werden soll oder nicht:
Delphi-Quellcode:
procedure TDeinControl.CMEnter (var Message: TCEMEnter); message CM_Enter;
begin
// zuerst selbst behandeln
Color := clRed;
if Sonnescheint and RegenbogenIsVisible then
inherited;
end;