Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
943e761d
Commit
943e761d
authored
Sep 21, 2001
by
Guy Albertelli
Committed by
Alexandre Julliard
Sep 21, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Implement message loop on the client side of the scroll control.
- Move the mouse capture to after the SetFocus so that it stays captured.
parent
75b52514
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
3 deletions
+40
-3
scroll.c
controls/scroll.c
+40
-3
No files found.
controls/scroll.c
View file @
943e761d
...
...
@@ -12,6 +12,7 @@
#include "win.h"
#include "debugtools.h"
#include "user.h"
#include "spy.h"
DEFAULT_DEBUG_CHANNEL
(
scroll
);
...
...
@@ -933,8 +934,8 @@ void SCROLL_HandleScrollEvent( HWND hwnd, INT nBar, UINT msg, POINT pt)
lastMousePos
=
lastClickPos
;
trackThumbPos
=
thumbPos
;
prevPt
=
pt
;
SetCapture
(
hwnd
);
if
(
nBar
==
SB_CTL
&&
(
GetWindowLongA
(
hwnd
,
GWL_STYLE
)
&
WS_TABSTOP
))
SetFocus
(
hwnd
);
SetCapture
(
hwnd
);
break
;
case
WM_MOUSEMOVE
:
...
...
@@ -958,8 +959,8 @@ void SCROLL_HandleScrollEvent( HWND hwnd, INT nBar, UINT msg, POINT pt)
return
;
/* Should never happen */
}
TRACE
(
"Event: hwnd=%04x bar=%d msg=%
x
pt=%ld,%ld hit=%d
\n
"
,
hwnd
,
nBar
,
msg
,
pt
.
x
,
pt
.
y
,
hittest
);
TRACE
(
"Event: hwnd=%04x bar=%d msg=%
s
pt=%ld,%ld hit=%d
\n
"
,
hwnd
,
nBar
,
SPY_GetMsgName
(
msg
,
hwnd
)
,
pt
.
x
,
pt
.
y
,
hittest
);
switch
(
SCROLL_trackHitTest
)
{
...
...
@@ -1153,6 +1154,42 @@ static LRESULT WINAPI ScrollBarWndProc( HWND hwnd, UINT message, WPARAM wParam,
return
0
;
case
WM_LBUTTONDOWN
:
{
POINT
pt
;
MSG
msg
;
pt
.
x
=
SLOWORD
(
lParam
);
pt
.
y
=
SHIWORD
(
lParam
);
SetCapture
(
hwnd
);
SCROLL_HandleScrollEvent
(
hwnd
,
SB_CTL
,
message
,
pt
);
TRACE
(
"Doing LBUTTONDOWN loop hwnd=%08x
\n
"
,
hwnd
);
do
{
if
(
!
GetMessageW
(
&
msg
,
0
,
0
,
0
))
break
;
if
(
CallMsgFilterW
(
&
msg
,
MSGF_SCROLLBAR
))
continue
;
switch
(
msg
.
message
)
{
case
WM_LBUTTONUP
:
case
WM_MOUSEMOVE
:
case
WM_SYSTIMER
:
pt
.
x
=
LOWORD
(
msg
.
lParam
);
pt
.
y
=
HIWORD
(
msg
.
lParam
);
SCROLL_HandleScrollEvent
(
hwnd
,
SB_CTL
,
msg
.
message
,
pt
);
break
;
default:
TranslateMessage
(
&
msg
);
DispatchMessageW
(
&
msg
);
break
;
}
if
(
!
IsWindow
(
hwnd
))
{
ReleaseCapture
();
break
;
}
}
while
(
msg
.
message
!=
WM_LBUTTONUP
);
TRACE
(
"Out ofLBUTTON loop hwnd=%08x
\n
"
,
hwnd
);
}
break
;
case
WM_LBUTTONUP
:
case
WM_MOUSEMOVE
:
case
WM_SYSTIMER
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment