anchor.diff:      function contextActionCount: integer; override;
       function contextAction(index: integer): TAction; override;
       //
  -    property maxMessageCount: Integer read fMaxMessCnt write setMaxMessageCount;
  -    property autoSelectCategory: boolean read fAutoSelect write setAutoSelectCategory;
  -    property singleMessageClick: boolean read fSingleClick write setSingleMessageClick;
  +    property maxMessageCount: Integer     read fMaxMessCnt  write setMaxMessageCount;
  +    property autoSelectCategory: boolean  read fAutoSelect  write setAutoSelectCategory;
  +    property singleMessageClick: boolean  read fSingleClick write setSingleMessageClick;
       //
  -    property colorBuble: TColor read fMsgColors[amkBub] write setColorBuble;
  -    property colorInfo: TColor read fMsgColors[amkInf] write setColorInfo;
  -    property colorHint: TColor read fMsgColors[amkHint] write setColorHint;
  -    property colorWarning: TColor read fMsgColors[amkWarn] write setColorWarning;
  -    property colorError: TColor read fMsgColors[amkErr] write setColorError;
  +    property colorBuble: TColor   read fMsgColors[amkBub]   write setColorBuble;
  +    property colorInfo: TColor    read fMsgColors[amkInf]   write setColorInfo;
  +    property colorHint: TColor    read fMsgColors[amkHint]  write setColorHint;
  +    property colorWarning: TColor read fMsgColors[amkWarn]  write setColorWarning;
  +    property colorError: TColor   read fMsgColors[amkErr]   write setColorError;
     public
       constructor create(aOwner: TComponent); override;
       destructor destroy; override;
  -    //
  -    procedure scrollToBack;
     end;
   
     function guessMessageKind(const aMessg: string): TCEAppMessageKind;
  
positive.code: procedure TCEMessagesWidget.ListCustomDrawItem(Sender: TCustomTreeView;
    Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
  var
    rc: TRect;
    customdraw: Boolean;
  begin
    customdraw := fMsgColors[TCEAppMessageKind(node.ImageIndex + 1)] <> clDefault;
    if customdraw then
    begin
      rc := node.DisplayRect(false);
      Sender.Canvas.Brush.Color := fMsgColors[TCEAppMessageKind(node.ImageIndex + 1)];
      if node.Selected then
      begin
        Sender.Canvas.DrawFocusRect(rc);
        Sender.Canvas.Brush.Color := Sender.Canvas.Brush.Color - $232323;
      end;
      Sender.Canvas.FillRect(rc);
      Sender.Canvas.TextOut(rc.Left + 30, rc.Top, node.Text);
      list.Images.Draw(sender.Canvas, rc.Left + 1, (rc.Top + rc.Bottom - list.Images.Height) div 2,
        node.ImageIndex, Node.NodeEffect);
    end;
    DefaultDraw := not customdraw;
  end;
  {$ENDREGION}
  
  
negative.code:   item.SelectedIndex := item.ImageIndex;
    if not fastDisplay then
    begin
      clearOutOfRangeMessg;
      scrollToBack;
      TTreeHack(list).scrolledLeft := 0;
      Application.ProcessMessages;
      filterMessages(fCtxt);
    end;
  