UniSoft

Forum Replies Created

Viewing 15 posts - 21 through 35 (of 35 total)
  • Author
    Posts
  • in reply to: Few BUGs… v16.10 #70102
    UniSoft
    Participant
      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;
      in reply to: Few BUGs… v16.10 #70101
      UniSoft
      Participant

        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 removed

        procedure 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;
        in reply to: Few BUGs… v16.10 #70065
        UniSoft
        Participant

          ahh found…
          You override property Style, and not change the TButton.Style
          fix

          procedure 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;
          in reply to: Few BUGs… v16.10 #70064
          UniSoft
          Participant

            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.

            in reply to: Few BUGs… v16.10 #70057
            UniSoft
            Participant

              some updates…
              this resize shaking happens inside

              procedure TsSkinProvider.AC_WMWindowPosChanging(var Message: TWMWindowPosChanging);
              begin
                ...
                      with WindowPos^ do begin
                        if FScreenSnap and Form.Showing then
                          CheckNewPosition(X, Y); // <<<<<<< Here

              This 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;
              in reply to: Few BUGs… v16.10 #70053
              UniSoft
              Participant

                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_HEKMnwjNNk32nnSDcxcvDET7oPNqF6A

                Attachments:
                You must be logged in to view attached files.
                in reply to: Black background in TSaveDialog/TOpenDialog #70031
                UniSoft
                Participant

                  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)

                  UniSoft
                  Participant

                    Some 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

                    UniSoft
                    Participant

                      Also very miss,
                      that standard context menus of most of components (TsMemo, TsEdit, TsComboBox, etc) are not skinned πŸ™

                      in reply to: AC 15.15: EAccessViolation when gets CM_WININICHANGE #69622
                      UniSoft
                      Participant

                        I just notice that AMegaDemo.exe compiled with AC 15.16 (which is not available yet),
                        and it doesn’t have this exception.

                        in reply to: AC 15.15: EAccessViolation when gets CM_WININICHANGE #69621
                        UniSoft
                        Participant

                          just now tried with ASkinDemo.exe, run, minimize, send WM_WININICHANGE
                          get exception

                          in reply to: AC 15.15: EAccessViolation when gets CM_WININICHANGE #69619
                          UniSoft
                          Participant

                            Need to send WM_WININICHANGE message…
                            And application must be minimized.
                            You can try the attached sample, to send broadcast WM_WININICHANGE

                            Attachments:
                            You must be logged in to view attached files.
                            in reply to: AC15.05 bug #68717
                            UniSoft
                            Participant
                              in reply to: AC15.05 bug #68714
                              UniSoft
                              Participant

                                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 close

                                There 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.
                                in reply to: AC15.05 bug #68648
                                UniSoft
                                Participant

                                  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;
                                Viewing 15 posts - 21 through 35 (of 35 total)