anchor.diff:      FontSize:= 9;
       IndentMinPercents:= 50;
       IndentBigPercents:= 300;
  +    IndentIconPercents:= 40;
       IndentRightPercents:= 250;
       IndentSubmenuArrowPercents:= 150;
     end;
  
positive.code: 
    TWin32MenuStyler = class
    private
      procedure HandleMenuDrawItem(Sender: TObject; ACanvas: TCanvas;
        ARect: TRect; AState: TOwnerDrawState);
    public
      procedure ApplyToMenu(AMenu: TMenu);
      procedure ApplyToForm(AForm: TForm; ARepaintEntireForm: boolean);
  
negative.code: 
  implementation
  
  procedure TWin32MenuStyler.ApplyBackColor(h: HMENU; AReset: boolean);
  var
    mi: TMENUINFO;
  begin
    FillChar(mi{%H-}, sizeof(mi), 0);
    mi.cbSize:= sizeof(mi);
    mi.fMask:= MIM_BACKGROUND or MIM_APPLYTOSUBMENUS;
    if AReset then
      mi.hbrBack:= 0
    else
      mi.hbrBack:= CreateSolidBrush(MenuStylerTheme.ColorBk);
    SetMenuInfo(h, @mi);
  end;
  
  procedure TWin32MenuStyler.ApplyToMenu(AMenu: TMenu);
  begin
    AMenu.OwnerDraw:= true;
    AMenu.OnDrawItem:= @HandleMenuDrawItem;
  
    //it don't work!
    {
    if AMenu is TPopupMenu then
      with (AMenu as TPopupMenu) do
        if not Assigned(OnPopup) then
          OnPopup:= @HandleMenuPopup;
          }
  
    //it dont work!
    //ApplyBackColor(AMenu.Handle, false);
  end;
  
  procedure TWin32MenuStyler.ApplyToForm(AForm: TForm; ARepaintEntireForm: boolean);
  var
    menu: TMainMenu;
  begin
    menu:= AForm.Menu;
    if menu=nil then exit;
  
    ApplyToMenu(menu);
  
    //theme 2-3 pixel frame around menu
    ApplyBackColor(GetMenu(AForm.Handle), false);
  
    //repaint the menu bar
    if ARepaintEntireForm then
  