There is a problem with 200% zoom of 4K resolution

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #70820
    Support
    Keymaster

      Hello!
      Which versions of the package, Delphi and Windows are used?

      #70853
      MetroFX
      Participant

        On my computer I also noticed many problems with correct display of skins on 4K monitors:
        1. When the window has the BorderStyle parameter set to bsDialog there is an additional bright frame of a few pixels width on the window.
        2. The same appears on pop-up messages “ShowMessage” and its like.
        3. There is a bigger problem with correctly displaying items on TsPanel when it contains several VCL controls with alBottom alignment set. Of course this occurs when a frame is displayed in real mode. Only resizing the window causes all the elements to be displayed legally. When the sFrameAdapter is removed from the frame the problem with correct display does not occur.

        AlphaControl 16.18; Rad Studio 11; Windows 10

        #70854
        Stephane Senecal
        Participant

          You might wanna try the latest version.

          Stephane Senecal
          CIS Group
          Delphi programmer since 2001

          #70860
          lam4o2
          Participant

            Same problem. This is a simple form with a button.
            BorderStyle set to bsDialog. If you set ExtendedBorders to true, you get additional white line on top.
            4k monitor with 200% scaling

            Using 16.24; Delphi 11.1

            • This reply was modified 3 years, 10 months ago by lam4o2.
            Attachments:
            You must be logged in to view attached files.
            #70942
            Lasse
            Participant

              I think you can fix this in acDials.pas by scaling the result:

              function TacDialogWnd.FixedFrame: integer;
              begin
                Result := ScaleInt(ac_GetSysMetrics(SM_CXFIXEDFRAME, GetWndPPI(CtrlHandle)));
              end;
              #71052
              Lasse
              Participant

                Well, that didn’t work like it should. I changed it to…

                function TacDialogWnd.FixedFrame: integer;
                begin
                  if Screen.PixelsPerInch <> 96 then
                    Result := ac_GetSysMetrics(SM_CXPADDEDBORDER, GetWndPPI(CtrlHandle))
                  else
                    Result := ac_GetSysMetrics(SM_CXFIXEDFRAME, GetWndPPI(CtrlHandle));
                end;
                #71140
                Support
                Keymaster

                  Hello!
                  The AlphaControls package v17 has been released today, the issue has been solved there.
                  Thank you, Lasse.

                Viewing 7 posts - 1 through 7 (of 7 total)
                • You must be logged in to reply to this topic.