• WS_EX_NOACTIVATE dragging/resizing bug

    From Robert Phillips@21:1/5 to All on Wed Nov 22 13:42:24 2017
    Hi

    I don't know much about win api, I am using C# but others have run into this with visual c++.

    e.g. https://social.msdn.microsoft.com/Forums/vstudio/en-US/05a623b6-99dd-4c59-99b6-902f8c692db5/wsexnoactivate-draggingresizing-bug?forum=vcgeneral

    The issue is that in Windows 7, when a window is made such that it can't be made active, with WS_EX_NOACTIVATE, then when you try to move it nothing gets redrawn while the mouse is moved to drag it.

    The window just shows in its original location, and when the mouse button is released, it shows in its new location.

    In my C# program,

    It happens if I put this in a form class, and it happens with either a WPF form or a winforms form, though i'm more interested in winforms.

    I don't want the form to activate, but I do want the window or border of the window to redraw when dragged(based on the win7 "show window contents while dragging" checkbox. Win7 has an option "show window contents while dragging", if enabled it redraws
    the window, if disabled it redraws just the border. Unfortunately when I try the code below, I get nothing redrawn.


    private const int WS_EX_NOACTIVATE = 0x08000000;
    protected override CreateParams CreateParams
    {
    get
    {
    CreateParams createParams = base.CreateParams;
    createParams.ExStyle |= WS_EX_NOACTIVATE;
    return createParams;
    }
    }
    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)