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
35930f2d
Commit
35930f2d
authored
Jul 29, 2023
by
Esme Povirk
Committed by
Alexandre Julliard
Aug 02, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comctl32: Add support for MSAA events on tab controls.
parent
7ac4bbb2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
0 deletions
+11
-0
tab.c
dlls/comctl32/tab.c
+11
-0
No files found.
dlls/comctl32/tab.c
View file @
35930f2d
...
@@ -271,6 +271,7 @@ static inline LRESULT TAB_SetCurSel (TAB_INFO *infoPtr, INT iItem)
...
@@ -271,6 +271,7 @@ static inline LRESULT TAB_SetCurSel (TAB_INFO *infoPtr, INT iItem)
TAB_EnsureSelectionVisible
(
infoPtr
);
TAB_EnsureSelectionVisible
(
infoPtr
);
TAB_InvalidateTabArea
(
infoPtr
);
TAB_InvalidateTabArea
(
infoPtr
);
NotifyWinEvent
(
EVENT_OBJECT_SELECTION
,
infoPtr
->
hwnd
,
OBJID_CLIENT
,
infoPtr
->
iSelected
+
1
);
}
}
return
prevItem
;
return
prevItem
;
...
@@ -286,6 +287,8 @@ static LRESULT TAB_SetCurFocus (TAB_INFO *infoPtr, INT iItem)
...
@@ -286,6 +287,8 @@ static LRESULT TAB_SetCurFocus (TAB_INFO *infoPtr, INT iItem)
infoPtr
->
iSelected
=
-
1
;
infoPtr
->
iSelected
=
-
1
;
TAB_SendSimpleNotify
(
infoPtr
,
TCN_SELCHANGE
);
TAB_SendSimpleNotify
(
infoPtr
,
TCN_SELCHANGE
);
TAB_InvalidateTabArea
(
infoPtr
);
TAB_InvalidateTabArea
(
infoPtr
);
if
(
!
(
infoPtr
->
dwStyle
&
TCS_BUTTONS
))
NotifyWinEvent
(
EVENT_OBJECT_SELECTION
,
infoPtr
->
hwnd
,
OBJID_CLIENT
,
0
);
}
}
}
}
else
if
(
iItem
<
infoPtr
->
uNumItem
)
{
else
if
(
iItem
<
infoPtr
->
uNumItem
)
{
...
@@ -306,6 +309,7 @@ static LRESULT TAB_SetCurFocus (TAB_INFO *infoPtr, INT iItem)
...
@@ -306,6 +309,7 @@ static LRESULT TAB_SetCurFocus (TAB_INFO *infoPtr, INT iItem)
InvalidateRect
(
infoPtr
->
hwnd
,
&
r
,
FALSE
);
InvalidateRect
(
infoPtr
->
hwnd
,
&
r
,
FALSE
);
TAB_SendSimpleNotify
(
infoPtr
,
TCN_FOCUSCHANGE
);
TAB_SendSimpleNotify
(
infoPtr
,
TCN_FOCUSCHANGE
);
NotifyWinEvent
(
EVENT_OBJECT_FOCUS
,
infoPtr
->
hwnd
,
OBJID_CLIENT
,
iItem
+
1
);
}
}
}
else
{
}
else
{
INT
oldFocus
=
infoPtr
->
uFocus
;
INT
oldFocus
=
infoPtr
->
uFocus
;
...
@@ -320,6 +324,7 @@ static LRESULT TAB_SetCurFocus (TAB_INFO *infoPtr, INT iItem)
...
@@ -320,6 +324,7 @@ static LRESULT TAB_SetCurFocus (TAB_INFO *infoPtr, INT iItem)
infoPtr
->
iSelected
=
iItem
;
infoPtr
->
iSelected
=
iItem
;
TAB_EnsureSelectionVisible
(
infoPtr
);
TAB_EnsureSelectionVisible
(
infoPtr
);
TAB_InvalidateTabArea
(
infoPtr
);
TAB_InvalidateTabArea
(
infoPtr
);
NotifyWinEvent
(
EVENT_OBJECT_SELECTION
,
infoPtr
->
hwnd
,
OBJID_CLIENT
,
iItem
+
1
);
}
}
}
}
}
}
...
@@ -2635,6 +2640,9 @@ TAB_InsertItemT (TAB_INFO *infoPtr, INT iItem, const TCITEMW *pti, BOOL bUnicode
...
@@ -2635,6 +2640,9 @@ TAB_InsertItemT (TAB_INFO *infoPtr, INT iItem, const TCITEMW *pti, BOOL bUnicode
else
else
InvalidateRect
(
infoPtr
->
hwnd
,
NULL
,
TRUE
);
InvalidateRect
(
infoPtr
->
hwnd
,
NULL
,
TRUE
);
/* The last item is always the "new" MSAA object. */
NotifyWinEvent
(
EVENT_OBJECT_CREATE
,
infoPtr
->
hwnd
,
OBJID_CLIENT
,
infoPtr
->
uNumItem
);
TRACE
(
"[%p]: added item %d %s
\n
"
,
TRACE
(
"[%p]: added item %d %s
\n
"
,
infoPtr
->
hwnd
,
iItem
,
debugstr_w
(
item
->
pszText
));
infoPtr
->
hwnd
,
iItem
,
debugstr_w
(
item
->
pszText
));
...
@@ -2861,6 +2869,9 @@ static LRESULT TAB_DeleteItem (TAB_INFO *infoPtr, INT iItem)
...
@@ -2861,6 +2869,9 @@ static LRESULT TAB_DeleteItem (TAB_INFO *infoPtr, INT iItem)
/* reposition and repaint tabs */
/* reposition and repaint tabs */
TAB_SetItemBounds
(
infoPtr
);
TAB_SetItemBounds
(
infoPtr
);
/* The last item is always the destroyed MSAA object */
NotifyWinEvent
(
EVENT_OBJECT_DESTROY
,
infoPtr
->
hwnd
,
OBJID_CLIENT
,
infoPtr
->
uNumItem
+
1
);
return
TRUE
;
return
TRUE
;
}
}
...
...
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