Pontus

Forum Replies Created

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • in reply to: Old style boarders on MDI form #56428
    Pontus
    Participant

      It only happens if I close the MDI child with the MDI close button in the upper right corner while the MDI child is maximized. [_][ ][X]

      /Pontus

      in reply to: Old style boarders on MDI form #56427
      Pontus
      Participant

        sSkinManager.ExtendedBoarders:=False;

        sSkinProvider.DrawNonClientArea:=False; //On both MDIForm and MDIChild

        I don't skin the window I just use skins on the controls in the windows.

        /Pontus

        in reply to: Old style boarders on MDI form #56426
        Pontus
        Participant

          Yes, but if i remove the sSkinProvider from the MDI child it doesn't happen.

          It only happens if the MDI child is maximized.

          /Pontus

          in reply to: MDI problems #45569
          Pontus
          Participant

            Thanks!

            The reasons I like to use Windows 7 Aero, instead of skinned boarders, are speed and a more coherent look and feel with other Windows 7 applications. But I realy love using AlphaSkins to enhance the GUI.

            Best regards,

            /Pontus

            in reply to: MDI problems #45545
            Pontus
            Participant

              Hi!

              Two problems can be solved by removing this code.

              Current code in 7.41 Beta (sSkinProvider.pas);

              WM_NCPAINT : begin

              if (SkinData.CtrlSkinState and ACS_LOCKED = ACS_LOCKED) or (SkinData.CtrlSkinState and ACS_MNUPDATING = ACS_MNUPDATING) or

              (IsMenuVisible(Self) and (Form.Menu.WindowHandle = 0)) or (FormState and FS_ANIMCLOSING = FS_ANIMCLOSING) then Exit;

              Change to this;

              WM_NCPAINT : begin

              // if (SkinData.CtrlSkinState and ACS_LOCKED = ACS_LOCKED) or (SkinData.CtrlSkinState and ACS_MNUPDATING = ACS_MNUPDATING) or

              // (IsMenuVisible(Self) and (Form.Menu.WindowHandle = 0)) or (FormState and FS_ANIMCLOSING = FS_ANIMCLOSING) then Exit;

              This will solve the problem with Windows 7 Aero boarders switching to classic when DrawNonClientArea is disabled. This happens when a MDI child window is maximized.

              It will also solve the problem with the MainMenu not beeing redrawn correctly when maximizing and restoring MDI child windows. This problem occures when DrawNonClientArea is enabled.

              Best regards,

              /Pontus

              in reply to: 2 buggs in MDI Child code + source code solution {v6.53} #41516
              Pontus
              Participant

                Hi!
                You can use ProcessMessages in this case, but you'll have to make sure that you check whether objects are still there or not.

                Best regards,
                /Pontus

                in reply to: AV on closing a not maximized MDI child window #41515
                Pontus
                Participant

                  Hi!
                  Take alook at my post
                  “2 buggs in MDI Child code + source code solution {v6.53}”

                  I've included the solution/source changes.

                  Best regards,
                  /Pontus

                  in reply to: 2 buggs in MDI Child code + source code solution {v6.53} #41481
                  Pontus
                  Participant

                    Hi!
                    You're right. If you need to use Application.ProcessMessages there's always a better way. Not easier but better.

                    I really like AC and I'd like it to be at it's best. That's why I presented a solution to the two unwanted side effects (buggs). And I really hope it makes it into the next release or I'll have to patch sSkinProvider.pas every time util it does.

                    Perhaps we (the users of AC) should put together test cases (applications) that can be used to ensure certain functionality. In my case I would put together an MDI test app that ensures that the expected functionality works ok. Then the devlopers of AC can run these apps and check that nothing is broken in the new release.

                    I'm sure there are many minimalistic apps in this forum that proves the existense of a bugg or two.

                    /Pontus

                  Viewing 8 posts - 1 through 8 (of 8 total)