Forum Replies Created
-
AuthorPosts
-
LasseParticipant
All other skins are fine. And that Windows 11 Dark skin is also fine after that fix. Not necessarily fixed correct thou… but I see similar settings in other dark skins.
LasseParticipantI fixed this by changing Edit controls > EDIT values like this (see attachment)… No idea, if it is correct but looks ok now.
Attachments:
You must be logged in to view attached files.LasseParticipantComboBox.Clear and ComboBox.Items.Clear are two different things.
LasseParticipantI was able to fix this for now like this:
procedure TacItemsPopupForm.UpdateControls; ... procedure AddItem(const ACaption: string); ... Flat := False; // True; Lasse
You will see why. It will crash here:
procedure TCustomSpeedButton.UpdateTracking; var P: TPoint; begin if FFlat then
Of course this is just a temporary solution.
- This reply was modified 3 years, 8 months ago by Lasse.
LasseParticipantI had exactly same issue and fixed it like this in acPopupController.pas:
procedure TsPopupController.AnimShowPopup(AForm: TForm; wTime: word = 0; BlendValue: byte = MaxByte);
…
h := HWND_TOPMOST; //TopWndAfter; LasseLasseParticipantDid you check it? This is still an issue in v.15.15. Tried in Delphi 10.3.3 this time…
- This reply was modified 4 years, 2 months ago by Lasse.
LasseParticipantI found the reason which UI element is causing this in my application. It happens when I have a title bar items aligned right and the style is bsMenu. But I still can’t repeat this in your demo.
So, I ended up to fix this:
procedure CopyByMask32(R1, R2: TRect; const Bmp1, Bmp2: TBitmap; const CI: TCacheInfo; const MaskData: TsMaskData); ... CacheBMP := Bmp.ScanLine[R1.Top + PosY + Y]; => CacheBMP := Bmp.ScanLine[Max(R1.Top + PosY + Y, 0)]; // Lasse
LasseParticipantWell, this is weird. I can’t repeat it in your demo using TsSkinSelector but in my own program I can. I have tried all skins and that is the only skin causing that error. I will try to figure out why.
LasseParticipantDon’t remember exactly but I had to put a comment here:
procedure TsAlphaHints.OnCheckTimer(Sender: TObject); begin ... // Lasse Application.HintPause := Manager.FOldHintPause;
Otherwise I could not change it.
LasseParticipantIt is perfect now.
LasseParticipantYeah, we are using MadExcept in our commercial products. I’ve been just lazy to add it for hobby projects.
LasseParticipantFinally had time to see what is the cause. Changes in acgpBlur procedure in acgpUtils.pas unit are causing the slowness.
I reverted that procedure to v15.12 and everything is fine now.
- This reply was modified 4 years, 3 months ago by Lasse.
LasseParticipantNo, I don’t use lightning effect. It didn’t work well last time I tried it. But I will try to find time (at weekend) to find the reason for this slowness. I remember seeing some suspicious code while I was merging the version but I will see…
LasseParticipantYeah, I use data aware components in my database administration tool (https://www.texteditor.pro/firebird/). I have made quite many optimizations for AlphaSkins to speed it up but the latest v.15.13 is remarkably slower than v.15.12 even with all the fixes I have made.
There are quite many loops which can be faster by just using variables to avoid getting items unnecessarily multiple times (it is slow). I also recommend FixInsight tool to point out bad code that we easily make in a hurry.
LasseParticipantI have tried a long time to repeat this on debug mode. No success yet. It is rare and happens on idle or after waking up from sleep mode.
July 1, 2020 at 6:58 am in reply to: TsGroupbox, TSPanel, TSSpinedit becomes completely white with upgradef to V15.10 #69045LasseParticipantBoth paint blocking code was added in v. 15.10. It is not old code.
LasseParticipantBtw. there is a glow issue with comboboxes in Fluent Night theme (you can see it in your demo). I fixed it by changing the GLOWMARGIN = 2 to 1.
Attachments:
You must be logged in to view attached files.LasseParticipantI just pointed out where the problem is. It still exists in the latest version 15.10.
June 25, 2020 at 12:00 pm in reply to: TsGroupbox, TSPanel, TSSpinedit becomes completely white with upgradef to V15.10 #69020LasseParticipantThere is also added paint locking code that is causing problems:
4214:WM_SETFOCUS, WM_KILLFOCUS: begin if MayBeHot(SkinData, False) and (Skindata.FOwnerControl is TWinControl) and TWinControl(Skindata.FOwnerControl).CanFocus and TWinControl(Skindata.FOwnerControl).TabStop then begin Skindata.BGChanged := True; Skindata.FFocused := WM_SETFOCUS = Message.Msg; // Skindata.FOwnerControl.Perform(WM_SETREDRAW, 0, 0); inherited acWndProc(Message); // Skindata.FOwnerControl.Perform(WM_SETREDRAW, 1, 0);
Commenting out that paint locking solves the problem. The question is, why these are added?
June 25, 2020 at 11:41 am in reply to: TsGroupbox, TSPanel, TSSpinedit becomes completely white with upgradef to V15.10 #69019LasseParticipantIn my case it is this code in acSBUtils.pas:
procedure TacEditWnd.acWndProc(var Message: TMessage); ... 4152: CM_MOUSEENTER, CM_MOUSELEAVE: begin Skindata.FOwnerControl.Perform(WM_SETREDRAW, 0, 0); inherited acWndProc(Message); Skindata.FOwnerControl.Perform(WM_SETREDRAW, 1, 0); Exit; end;
Commenting that out solves the problem.
-
AuthorPosts