anchor.diff:  var
     newf: integer;
     mi: TfpgMenuItem;
  -  r: TfpgRect;
   begin
     inherited HandleLMouseUp(x, y, shiftstate);
   
  
positive.code:   achar := '&';
    s := Text;
  
    repeat
      p := UTF8Pos(achar, s);
      if p > 0 then
      begin
        // first part of text before the & sign
  //      ACanvas.DrawString(x, y, UTF8Copy(s, 1, p-1));
        fpgStyle.DrawString(ACanvas, x, y, UTF8Copy(s, 1, p-1), Enabled);
  
        inc(x, fpgStyle.MenuFont.TextWidth(UTF8Copy(s, 1, p-1)));
        if UTF8Copy(s, p+1, 1) = achar then
        begin
          // Do we need to paint a actual & sign (create via && in item text)
  //        ACanvas.DrawString(x, y, achar);
          fpgStyle.DrawString(ACanvas, x, y, achar, Enabled);
          inc(x, fpgStyle.MenuFont.TextWidth(achar));
        end
  
negative.code:     Result := nil
    else
      Result := TfpgMenuItem(FItems.Items[ind]);
  end;
  
  procedure TfpgMenuBar.HandleShow;
  begin
    PrepareToShow;
    inherited HandleShow;
  end;
  
  procedure TfpgMenuBar.HandleMouseMove(x, y: integer; btnstate: word; shiftstate: TShiftState);
  