Проблема с Edit контролом на стандартном диалоге

dxm
Дата: 29.11.2007 22:53:31
Стоит задача сделать кастомную прорисовку едита на стандарном диалоге (в частности TPageSetupDialog).
Имея хендл окна контрола в FWND делал примерно так:

procedure TButtonSubclass.Subclass();
begin
   FObjectInst := MakeObjectInstance(NewWndProc);
   FPrevWndProc := Pointer(GetWindowLong(FWND, GWL_WNDPROC));
   SetWindowLong(FWND, GWL_WNDPROC, LongInt(FObjectInst));
end;

procedure TButtonSubclass.NewWndProc(var Message: TMessage);
begin
  case Message.Msg of
     {тут предполагается моя обработка}
     else Message.Result := CallWindowProc(FPrevWndProc, FWND, Message.Msg, Message.WParam, Message.LParam);
  end;
end;

Даже если оставить только обработку по умолчанию, происходит неприятная вещь - к первому из едитов на форме сообщения WM_PAINT идут сплошным потоком, он же в свою очередь шлет непрерывно WM_CTLCOLOREDIT диалогу.
VCL-ный едит (на форме) так себя не ведет. Подскажите пожалуйста где грабли.