Skip to content

WPF - OnLostMouseCapture with active scrolling. #3268

@timaiv

Description

@timaiv
  • What version of the product are you using?
    v85.3.130

  • What architecture x86 or x64?
    Both

  • On what operating system?
    Win10

  • Are you using WinForms, WPF or OffScreen?
    WPF

  • What steps will reproduce the problem?
    1)Draging the scrollbar with left button pressing
    2)move the cursor out of the browser control
    2)press alt+tab, choose other app.
    3)release left button.
    4)move mouse in browser, browser is thinking that mouse is pressed.

  • Please provide any additional information below.
    As i said in WPF - Capture/Release mouse to allow scrolling outside bounds of browser control #2871 we have problem with OnLostMouseCapture.
    Default wpf implementation does not raise mouse up event after lost mouse capture.

    Worked fast fix(SubClass):

        private bool isLeftMouseDown;
        protected override void OnMouseDown(MouseButtonEventArgs e)
        {
            isLeftMouseDown = e.LeftButton == MouseButtonState.Pressed;
            base.OnMouseDown(e);
        }

        protected override void OnLostMouseCapture(MouseEventArgs e)
        {
            var modifiers = e.GetModifiers();
            var point = e.GetPosition(this);

            if (isLeftMouseDown)
            {
                GetBrowser().GetHost().SendMouseClickEvent((int)point.X, (int)point.Y, MouseButtonType.Left, true, 1, modifiers);
                isLeftMouseDown = false;
            }

            base.OnLostMouseCapture(e);
        }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions