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
256d0c0b
Commit
256d0c0b
authored
Apr 25, 2006
by
Juris Smotrovs
Committed by
Alexandre Julliard
May 07, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user: Test cases demonstrating position changes for MDI children.
parent
53654c69
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
121 additions
and
0 deletions
+121
-0
msg.c
dlls/user/tests/msg.c
+121
-0
No files found.
dlls/user/tests/msg.c
View file @
256d0c0b
...
...
@@ -1483,6 +1483,22 @@ static const struct message WmCreateMDIclientSeq[] = {
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
,
SWP_SHOWWINDOW
|
SWP_NOACTIVATE
|
SWP_NOZORDER
|
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOCLIENTSIZE
|
SWP_NOCLIENTMOVE
},
{
0
}
};
/* ShowWindow(SW_SHOW) for MDI client window */
static
const
struct
message
WmShowMDIclientSeq
[]
=
{
{
WM_SHOWWINDOW
,
sent
|
wparam
,
1
},
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
,
SWP_SHOWWINDOW
|
SWP_NOACTIVATE
|
SWP_NOZORDER
|
SWP_NOSIZE
|
SWP_NOMOVE
},
{
EVENT_OBJECT_SHOW
,
winevent_hook
|
wparam
|
lparam
,
0
,
0
},
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
,
SWP_SHOWWINDOW
|
SWP_NOACTIVATE
|
SWP_NOZORDER
|
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOCLIENTSIZE
|
SWP_NOCLIENTMOVE
},
{
0
}
};
/* ShowWindow(SW_HIDE) for MDI client window */
static
const
struct
message
WmHideMDIclientSeq
[]
=
{
{
WM_SHOWWINDOW
,
sent
|
wparam
,
0
},
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
,
SWP_HIDEWINDOW
|
SWP_NOACTIVATE
|
SWP_NOZORDER
|
SWP_NOSIZE
|
SWP_NOMOVE
},
{
EVENT_OBJECT_SHOW
,
winevent_hook
|
wparam
|
lparam
,
0
,
0
},
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
,
SWP_HIDEWINDOW
|
SWP_NOACTIVATE
|
SWP_NOZORDER
|
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOCLIENTSIZE
|
SWP_NOCLIENTMOVE
},
{
0
}
};
/* DestroyWindow for MDI client window, initially visible */
static
const
struct
message
WmDestroyMDIclientSeq
[]
=
{
{
HCBT_DESTROYWND
,
hook
},
...
...
@@ -1536,6 +1552,40 @@ static const struct message WmCreateMDIchildVisibleSeq[] = {
{
WM_MDIACTIVATE
,
sent
|
defwinproc
},
{
0
}
};
/* CreateWindow for MDI child window with invisible parent */
static
const
struct
message
WmCreateMDIchildInvisibleParentSeq
[]
=
{
{
HCBT_CREATEWND
,
hook
},
{
WM_GETMINMAXINFO
,
sent
},
{
WM_NCCREATE
,
sent
},
{
WM_NCCALCSIZE
,
sent
|
wparam
,
0
},
{
WM_CREATE
,
sent
},
{
EVENT_OBJECT_CREATE
,
winevent_hook
|
wparam
|
lparam
,
0
,
0
},
{
WM_SIZE
,
sent
},
{
WM_MOVE
,
sent
},
{
WM_PARENTNOTIFY
,
sent
/*|wparam, WM_CREATE*/
},
/* in MDI client */
{
WM_SHOWWINDOW
,
sent
|
wparam
,
1
},
{
WM_MDIREFRESHMENU
,
sent
},
/* in MDI client */
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
,
SWP_SHOWWINDOW
|
SWP_NOSIZE
|
SWP_NOMOVE
},
{
WM_CHILDACTIVATE
,
sent
|
wparam
|
lparam
,
0
,
0
},
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
|
defwinproc
,
SWP_NOACTIVATE
|
SWP_NOSIZE
|
SWP_NOMOVE
},
/* Win9x: message sequence terminates here. */
{
WM_NCACTIVATE
,
sent
|
wparam
|
defwinproc
,
1
},
{
HCBT_SETFOCUS
,
hook
},
/* in MDI client */
{
WM_IME_SETCONTEXT
,
sent
|
wparam
|
optional
,
1
},
/* in MDI client */
{
WM_IME_NOTIFY
,
sent
|
wparam
|
optional
,
2
},
/* in MDI client */
{
EVENT_OBJECT_FOCUS
,
winevent_hook
|
wparam
|
lparam
,
OBJID_CLIENT
,
0
},
{
WM_SETFOCUS
,
sent
},
/* in MDI client */
{
HCBT_SETFOCUS
,
hook
},
{
WM_KILLFOCUS
,
sent
},
/* in MDI client */
{
WM_IME_SETCONTEXT
,
sent
|
wparam
|
optional
,
0
},
/* in MDI client */
{
WM_IME_SETCONTEXT
,
sent
|
wparam
|
defwinproc
|
optional
,
1
},
{
EVENT_OBJECT_FOCUS
,
winevent_hook
|
wparam
|
lparam
,
OBJID_CLIENT
,
0
},
{
WM_SETFOCUS
,
sent
|
defwinproc
},
{
WM_MDIACTIVATE
,
sent
|
defwinproc
},
{
0
}
};
/* DestroyWindow for MDI child window, initially visible */
static
const
struct
message
WmDestroyMDIchildVisibleSeq
[]
=
{
{
HCBT_DESTROYWND
,
hook
},
...
...
@@ -2139,6 +2189,44 @@ static const struct message WmMaximizeMDIchildInvisibleSeq[] = {
{
EVENT_OBJECT_LOCATIONCHANGE
,
winevent_hook
|
wparam
|
lparam
,
0
,
0
},
/* MDI child */
{
0
}
};
/* WM_MDIMAXIMIZE for an MDI child window with invisible parent */
static
const
struct
message
WmMaximizeMDIchildInvisibleParentSeq
[]
=
{
{
WM_MDIMAXIMIZE
,
sent
},
/* in MDI client */
{
HCBT_MINMAX
,
hook
},
{
WM_GETMINMAXINFO
,
sent
},
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
,
SWP_FRAMECHANGED
|
0x8000
},
{
WM_GETMINMAXINFO
,
sent
|
defwinproc
},
{
WM_NCCALCSIZE
,
sent
|
wparam
,
1
},
{
EVENT_OBJECT_SHOW
,
winevent_hook
|
wparam
|
lparam
,
0
,
0
},
{
WM_CHILDACTIVATE
,
sent
|
wparam
|
lparam
,
0
,
0
},
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
,
SWP_FRAMECHANGED
|
SWP_NOREDRAW
|
SWP_NOZORDER
|
0x8000
},
{
WM_MOVE
,
sent
|
defwinproc
},
{
WM_SIZE
,
sent
|
defwinproc
|
wparam
,
SIZE_MAXIMIZED
},
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
|
defwinproc
,
SWP_FRAMECHANGED
|
SWP_NOACTIVATE
|
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOZORDER
},
{
WM_NCCALCSIZE
,
sent
|
wparam
|
defwinproc
,
1
},
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
|
defwinproc
,
SWP_FRAMECHANGED
|
SWP_NOACTIVATE
|
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOZORDER
|
SWP_NOREDRAW
|
SWP_NOCLIENTSIZE
|
SWP_NOCLIENTMOVE
},
/* in MDI frame */
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
,
SWP_FRAMECHANGED
|
SWP_NOACTIVATE
|
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOZORDER
},
{
WM_NCCALCSIZE
,
sent
|
wparam
,
1
},
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
,
SWP_FRAMECHANGED
|
SWP_NOACTIVATE
|
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOZORDER
},
{
WM_MOVE
,
sent
|
defwinproc
},
{
WM_SIZE
,
sent
|
defwinproc
},
{
EVENT_OBJECT_LOCATIONCHANGE
,
winevent_hook
|
wparam
|
lparam
,
0
,
0
},
/* MDI frame */
/* in MDI client */
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
,
SWP_NOACTIVATE
|
SWP_NOZORDER
},
{
WM_NCCALCSIZE
,
sent
|
wparam
,
1
},
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
,
SWP_NOACTIVATE
|
SWP_NOMOVE
|
SWP_NOZORDER
|
SWP_NOREDRAW
|
SWP_NOCLIENTMOVE
},
{
WM_SIZE
,
sent
},
/* in MDI child */
{
WM_WINDOWPOSCHANGING
,
sent
|
wparam
|
defwinproc
,
SWP_NOACTIVATE
|
SWP_NOZORDER
},
{
WM_GETMINMAXINFO
,
sent
|
defwinproc
},
{
WM_NCCALCSIZE
,
sent
|
wparam
|
defwinproc
,
1
},
{
WM_WINDOWPOSCHANGED
,
sent
|
wparam
|
defwinproc
,
SWP_NOACTIVATE
|
SWP_NOMOVE
|
SWP_NOZORDER
|
SWP_NOREDRAW
|
SWP_NOCLIENTMOVE
},
{
WM_SIZE
,
sent
|
defwinproc
|
wparam
,
SIZE_MAXIMIZED
},
{
EVENT_OBJECT_LOCATIONCHANGE
,
winevent_hook
|
wparam
|
lparam
,
0
,
0
},
/* MDI child */
{
0
}
};
/* ShowWindow(SW_MAXIMIZE) for a visible MDI child window */
static
const
struct
message
WmMaximizeMDIchildVisibleSeq
[]
=
{
{
HCBT_MINMAX
,
hook
},
...
...
@@ -2756,6 +2844,39 @@ static void test_mdi_messages(void)
DestroyWindow
(
mdi_client
);
ok_sequence
(
WmDestroyMDIclientSeq
,
"Destroy MDI client window"
,
FALSE
);
/* test maximization of MDI child with invisible parent */
client_cs
.
hWindowMenu
=
0
;
mdi_client
=
CreateWindow
(
"MDI_client_class"
,
NULL
,
WS_CHILD
|
WS_CLIPCHILDREN
|
WS_VSCROLL
|
WS_HSCROLL
|
WS_VISIBLE
,
0
,
0
,
662
,
432
,
mdi_frame
,
0
,
GetModuleHandleA
(
0
),
&
client_cs
);
ok_sequence
(
WmCreateMDIclientSeq
,
"Create MDI client window"
,
FALSE
);
ShowWindow
(
mdi_client
,
SW_HIDE
);
ok_sequence
(
WmHideMDIclientSeq
,
"Hide MDI client window"
,
FALSE
);
mdi_child
=
CreateWindowExA
(
WS_EX_MDICHILD
,
"MDI_child_class"
,
"MDI child"
,
WS_CHILD
|
WS_CLIPCHILDREN
|
WS_VSCROLL
|
WS_HSCROLL
,
0
,
0
,
654
,
443
,
mdi_client
,
0
,
GetModuleHandleA
(
0
),
NULL
);
ok_sequence
(
WmCreateMDIchildInvisibleParentSeq
,
"Create MDI child window with invisible parent"
,
FALSE
);
SendMessage
(
mdi_client
,
WM_MDIMAXIMIZE
,
(
WPARAM
)
mdi_child
,
0
);
ok_sequence
(
WmMaximizeMDIchildInvisibleParentSeq
,
"Maximize MDI child window with invisible parent"
,
TRUE
);
zoomed
=
IsZoomed
(
mdi_child
);
ok
(
zoomed
,
"wrong zoomed state %d
\n
"
,
zoomed
);
ShowWindow
(
mdi_client
,
SW_SHOW
);
ok_sequence
(
WmShowMDIclientSeq
,
"Show MDI client window"
,
FALSE
);
DestroyWindow
(
mdi_child
);
ok_sequence
(
WmDestroyMDIchildVisibleSeq
,
"Destroy visible maximized MDI child window"
,
TRUE
);
DestroyWindow
(
mdi_client
);
ok_sequence
(
WmDestroyMDIclientSeq
,
"Destroy MDI client window"
,
FALSE
);
/* end of test for maximization of MDI child with invisible parent */
DestroyWindow
(
mdi_frame
);
ok_sequence
(
WmDestroyMDIframeSeq
,
"Destroy MDI frame window"
,
FALSE
);
}
...
...
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