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)