Forum Replies Created
-
AuthorPosts
-
It is. This was the first message: “When we set a TsAlphaImageList as image list of TVirtualTreeView component, it only shows grayed images and doesn't show colored images.”.
This issue happens only with virtual tree. I try to find time to create a small demo.
I commented out following lines from acAlphaImageList.pas to fix this for now…
1308: //if BlendColor clNone then
1309: // ChangeBitmapPixels(Result, ChangeColorTone, acColorToRGB(BlendColor), clFuchsia);
Hmm, in my ImageList BlendColor property is clNone… it should not go there.
This issue still exists in version 14.24. Random icons have color and selected icon is quite black…
There is no reason to free an object if it is already nil (that would be an AV). That causes a part of that memory leak. Another part comes from the string list that is created twice.
Code:if ColorsHolder nil then
ColorsHolder.Free;Would make sense but ColorsHolder = nil does not… I rather use Assigned and not Assigned than nil and = nil…
It might be so indeed. I will test some skins.
Ok, good to know. Yes, that is perfect now.
I think it is not a good idea to have that border width as a skin option. It is ok, when you only use one skin in your application. But if you let users to choose the skin then your application borders look different and it is quite a painful to fix those borders skin by skin in code.
Well, I tried that also but it is not working with MetroUI skin (see attachment). Some other skins seem to work differently. That border does not look good with status bar… TsStatusBar is slightly better thou but still that border feels too wide. I choose another skin, no problem.
Now I got it like this (see attachment) with the v14.13. The tabsheet was longer than the page control. Only one tabsheet in page control. After I resized the form a little bit, it looks like that.
Create a test so that you create dynamically many tabs with TabVisible = False and then set it to True
Code:for LIndex := 0 to PageControl.PageCount – 1 do
PageControl.Pages[LIndex].TabVisible := True;This seems to be the problem. I changed my code, so this is not a problem for me anymore but maybe for someone.
The problem can be avoided by using skin manager's BeginUpdate;..EndUpate(True);.
This is still very unreliable in v.14.13 (see attachments). It now depends whether the page control is visible when tab sheets are added. I will revert back to v.14.11.
Set AllowNegative property to False.
I think you can see this in your demo.
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; // Lasseand 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…
I don't know what happened but now GPlus skin is showing tick… other issues still valid.
Also weird bug when closing the sub-menu. See attachment. When moving from View to Skin… Both (View and Skin..) icons are moving half width left.
Seems to be a bug with left panel width and there is a GPlus skin bug with the tick. See attachment with Windows 10 skin (RadioItem = False).
If TMenuItem.RadioItem is false, then it is showing like this (see attachment).
Thanks. The thumb curvature is slightly different than in previous version (see attachments) but I think it's okay…
Just by checking changes between versions. That certainly affects to that reflect layout what ever it is… that is just a hack to solve it for now.
Commenting this out solves the problem…
Code:procedure TsStickyLabel.WndProc(var Message: TMessage);
begin
case Message.Msg of
{SM_ALPHACMD:
case Message.WParamHi of
AC_REFLECTLAYOUT:
case AlignTo of
altLeft: AlignTo := altRight;
altRight: AlignTo := altLeft;
end;
end;}
… -
AuthorPosts