Forum Replies Created
-
AuthorPosts
-
LasseParticipant
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.
LasseParticipantCreate 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);.
LasseParticipantThis 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.
LasseParticipantSet AllowNegative property to False.
LasseParticipantI think you can see this in your demo.
LasseParticipantCheck 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…
LasseParticipantI don't know what happened but now GPlus skin is showing tick… other issues still valid.
LasseParticipantAlso 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.
LasseParticipantSeems 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).
LasseParticipantIf TMenuItem.RadioItem is false, then it is showing like this (see attachment).
LasseParticipantThanks. The thumb curvature is slightly different than in previous version (see attachments) but I think it's okay…
LasseParticipantJust 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.
LasseParticipantCommenting 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;}
…LasseParticipantYes, my MouseDown problem is fixed but if somebody is overriding MouseUp there is still exactly same issue with it. OnMouseUp is called instead of MouseUp.
LasseParticipantThis is still broken in version 13.13.
I see why. If page control's MouseDown is overrided, it is never called.
Code:procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X: Integer; Y: Integer); override;There is now OnMouseDown called:
Code:if Assigned(OnMouseDown) then
OnMouseDown(Self, mbLeft, GetShiftState, TCMHitTest(Message).XPos, TCMHitTest(Message).YPos);Works, if I change that to
Code:MouseDown(mbLeft, GetShiftState, TCMHitTest(Message).XPos, TCMHitTest(Message).YPos);That will call the OnMouseDown
Code:procedure TControl.MouseDown(Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Assigned(FOnMouseDown) then FOnMouseDown(Self, Button, Shift, X, Y);
end;Same thing with the MouseUp
Code:procedure TControl.MouseUp(Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Assigned(FOnMouseUp) then FOnMouseUp(Self, Button, Shift, X, Y);
end;LasseParticipantWell, indeed. It is a wrapper for TsSkinManager and just sets some properties by overriding Create. And it seems that some of those properties is causing this. Thanks, I will investigate which one it is.
It was this
Code:Saturation := 10;and it does not need to be set. So, problem solved.
LasseParticipantI installed v13.00 beta and still get the AV (see attachment).
LasseParticipantI tried it even thought I already knew the answer – it did not help. I will look at the code when I have time. This is not a big issue, I just need to remember to close frames before I close Delphi.
LasseParticipant[Content was edited mistakenly by Support]
LasseParticipantI checked changes from acSBUtils.pas and I just needed to set the UnfocusedSelectionColor = clHighlight to fix this.
Code:Colors.UnfocusedSelectionColor := clHighlight; -
AuthorPosts