Nur mal kurz die Messages durchgesehen und das probiert:
Code:
procedure TMyEdit.WndProc(var Message: TMessage);
begin
DebugString(dbGetMsgName(Message));
if Message.Msg = CN_CTLCOLOREDIT then
Begin
SetBkMode(TWMCtlColor(Message).ChildDC,TRANSPARENT);
Message.Result:=GetStockObject(HOLLOW_BRUSH);
End
else
inherited WndProc(Message);
with Message do
case Msg of
CM_MOUSEENTER, CM_MOUSELEAVE, WM_LBUTTONUP, WM_LBUTTONDOWN, CN_CTLCOLOREDIT,
WM_KEYDOWN, WM_KEYUP,
WM_SETFOCUS, WM_KILLFOCUS,
CM_FONTCHANGED, CM_TEXTCHANGED:
begin
Invalidate;
end;
end; // case
end;
Flackert zwar ein bischen ... aber besser als vorher ist es. Vielleicht kommst ja so weiter...