Forum Replies Created
-
AuthorPosts
-
procedure SetPPIAnimated(NewPPI: integer); begin if DefaultManager.Options.PixelsPerInch <> NewPPI then begin DefaultManager.ManagerState := DefaultManager.ManagerState + [msAnimScaling]; IterateForms(DefaultManager, AnimaScaleForm, MakeLParam(integer(DefaultManager.Options.ScaleMode = smVCL), NewPPI)); // Start anim threads DefaultManager.Options.PixelsPerInch := NewPPI; DefaultManager.Options.ScaleMode := smCustomPPI; end; end;BUG! This is long time bug…
Try this, and the window’s title became inactive… can’t close, move, etc…procedure TMainForm.sButton1Click(Sender: TObject); begin SetPPIAnimated(96); SetPPIAnimated(96); end;Fix:
If the NewPPI value is not changed then the flag [msAnimScaling] will not be removedprocedure SetPPIAnimated(NewPPI: integer); begin //DefaultManager.ManagerState := DefaultManager.ManagerState + [msAnimScaling]; // <<< This line moved down if DefaultManager.Options.PixelsPerInch <> NewPPI then begin DefaultManager.ManagerState := DefaultManager.ManagerState + [msAnimScaling]; IterateForms(DefaultManager, AnimaScaleForm, MakeLParam(integer(DefaultManager.Options.ScaleMode = smVCL), NewPPI)); // Start anim threads DefaultManager.Options.PixelsPerInch := NewPPI; end; DefaultManager.Options.ScaleMode := smCustomPPI; // DefaultManager.ManagerState := DefaultManager.ManagerState - [msAnimScaling]; end;ahh found…
You override property Style, and not change the TButton.Style
fixprocedure TsButton.SetStyle(const Value: TButtonStyle); begin if FStyle <> Value then begin FStyle := Value; TButton(Self).Style := TCustomButton.TButtonStyle(Value); //// <<< I add this FCommonData.Invalidate; end; end;One more BUG with TsButton
I need a button with drop down list,
so I put TsButton on the form and set property sButton1.Style:= bsSplitButton;
everything OK, until I disabled skinning sSkinManager1.Active:=False;
now button painted as a simple push button (sButton1.Style:= bsPushButton) without arrow.
Now I put TButton, and I get opposite effect, ie. if skinning enabled I get bsPushButton,
if skinning disabled I get bsSplitButton.some updates…
this resize shaking happens insideprocedure TsSkinProvider.AC_WMWindowPosChanging(var Message: TWMWindowPosChanging); begin ... with WindowPos^ do begin if FScreenSnap and Form.Showing then CheckNewPosition(X, Y); // <<<<<<< HereThis helps to fix (dont’t know if it is correct)
procedure TsSkinProvider.CheckNewPosition(var X: integer; var Y: integer); begin ... // Check for glued forms for i := 0 to Length(HookedComponents) - 1 do if (HookedComponents is TForm) and (HookedComponents <> Form) and TForm(HookedComponents).Visible and not Linked(TForm(HookedComponents)) and ((TForm(HookedComponents).HostDockSite = nil) or TForm(HookedComponents).Floating) then if CheckWithForm(TForm(HookedComponents)) then Break;There is a BUG with resize? still didn’t found how to fix π
Here is demo project (compiled exe already have fixed bugs from first post).alternative link to download example
_https_://mega.nz/file/sCQxmYQB#FPhNycGCdWy_HEKMnwjNNk32nnSDcxcvDET7oPNqF6AAttachments:
You must be logged in to view attached files.Run ASkinDemo.exe select skin “Fluent Night”…
Dialogs -> OpenDialog/SaveDialog
Also try click About.
There is one more BUG, if click Scaling “Custom PPI”, and in drop down window click on thumb (but do not drag it!), then after drop down will be closed the frame of the window will be in inactive state (i.e. disabled)March 30, 2021 at 12:13 am in reply to: TsOpenDialog, TsSaveDialog… why not skinning some controls? #69956Some menus are made and drawn by the Windows directly and canβt be changed at the moment, unfortunately.
You can hook function user32.TrackPopupMenuEx, from where you can get menu handle
March 17, 2021 at 3:01 pm in reply to: TsOpenDialog, TsSaveDialog… why not skinning some controls? #69930Also very miss,
that standard context menus of most of components (TsMemo, TsEdit, TsComboBox, etc) are not skinned πSeptember 22, 2020 at 10:54 pm in reply to: AC 15.15: EAccessViolation when gets CM_WININICHANGE #69622I just notice that AMegaDemo.exe compiled with AC 15.16 (which is not available yet),
and it doesn’t have this exception.September 22, 2020 at 10:48 pm in reply to: AC 15.15: EAccessViolation when gets CM_WININICHANGE #69621just now tried with ASkinDemo.exe, run, minimize, send WM_WININICHANGE
get exceptionSeptember 22, 2020 at 10:41 pm in reply to: AC 15.15: EAccessViolation when gets CM_WININICHANGE #69619Need to send WM_WININICHANGE message…
And application must be minimized.
You can try the attached sample, to send broadcast WM_WININICHANGEAttachments:
You must be logged in to view attached files.Yes, replied here. But forum deletes post.
Probably because of I posted the links to mega.nz with project included compiled exe.
—
using 15.05.
Just tried create new project (attached), get error on closeThere is also some bug with resize of TsEdit (design time only)
when it placed on top of TsGroupBox and have anchors akLeft, akRight, and VerticalAlignment = taVerticalCenter (or taAlignBottom).There is one more crash:
run askindemo.exe, click TsBitBtn “Change scaling”, select “Custom PixelsPerInch”,
get error in loop.
Error rises inside sThirdParty.pas in proc GetCommonData inside DrawBtnGlyph;if (DrawData.CurrentState = 0) and (SkinData.FOwnerControl.Parent <> nil) and (SkinData.SkinManager <> nil) and SkinData.SkinManager.IsValidSkinIndex(SkinData.SkinIndex) and <strong>(SkinData.CommonSkinData.gd <> nil) and // <<< I add this line to not crash</strong> (SkinData.CommonSkinData.gd[SkinData.SkinIndex].Props[0].Transparency = 100) then...Found one more bug…
Popup window not closing.
run askindemo.exe, click Change scaling, it shows popup window, now you can click tabs but popup window not hides.-
This reply was modified 5 years, 10 months ago by
UniSoft.
Attachments:
You must be logged in to view attached files.There is one more issue…
Access to sSkinManager1.Palette in sSkinManager1Deactivate() will crash application on close.procedure TMainForm.sSkinManager1Deactivate(Sender: TObject); begin sColorSelect10.ColorValue := sSkinManager1.Palette[pcMainColor]; // here will crash on app close end; -
This reply was modified 5 years, 10 months ago by
-
AuthorPosts
