Check sSkinMenus.pas:
Code:
procedure TsSkinableMenus.sAdvancedDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; State: TOwnerDrawState);
…
gRect.Left := {min(bWidth, gRect.Top) + }(IcoLineWidth – w) div 2 + iRect.Left;
I changed that to
Code:
gRect.Left := min(bWidth, gRect.Top) + (GetImageWidth(Item.GetImageList, -1, PPI) – w) div 2 + iRect.Left; // Lasse
and that fixed the strange moving of glyphs.
The other bug (narrow space for the tick) is caused by GlyphSize function.
I think the error is here:
Code:
Result := MkSize(GetImageWidth(Item.Parent.SubMenuImages, -1, TacSkinData(sd).ScaleValue))
That TacSkinData(sd).ScaleValue is 0. If I change that to PPI, then it is little too wide. Or the glyph should be aligned in the middle…