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
5c6fc1bb
Commit
5c6fc1bb
authored
Nov 01, 1998
by
Rein Klazes
Committed by
Alexandre Julliard
Nov 01, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CreateWindowEx32[AW] now creates an MDI chils when the WM_EX_MDICHILD
extended style is specified. Also implemented CreateMDIWindow32A() call - single thread only -.
parent
0d3f09f3
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
98 additions
and
11 deletions
+98
-11
mdi.h
include/mdi.h
+4
-0
windows.h
include/windows.h
+5
-0
user32.spec
relay32/user32.spec
+2
-2
mdi.c
windows/mdi.c
+81
-9
win.c
windows/win.c
+6
-0
No files found.
include/mdi.h
View file @
5c6fc1bb
...
...
@@ -37,5 +37,9 @@ typedef struct
HWND32
self
;
}
MDICLIENTINFO
;
extern
HWND32
MDI_CreateMDIWindow32A
(
LPCSTR
,
LPCSTR
,
DWORD
,
INT32
,
INT32
,
INT32
,
INT32
,
HWND32
,
HINSTANCE32
,
LPARAM
);
extern
HWND32
MDI_CreateMDIWindow32W
(
LPCWSTR
,
LPCWSTR
,
DWORD
,
INT32
,
INT32
,
INT32
,
INT32
,
HWND32
,
HINSTANCE32
,
LPARAM
);
#endif
/* __WINE_MDI_H */
include/windows.h
View file @
5c6fc1bb
...
...
@@ -7557,6 +7557,11 @@ HWND32 WINAPI CreateWindowEx32A(DWORD,LPCSTR,LPCSTR,DWORD,INT32,INT32,
HWND32
WINAPI
CreateWindowEx32W
(
DWORD
,
LPCWSTR
,
LPCWSTR
,
DWORD
,
INT32
,
INT32
,
INT32
,
INT32
,
HWND32
,
HMENU32
,
HINSTANCE32
,
LPVOID
);
#define CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
HWND32
WINAPI
CreateMDIWindow32A
(
LPCSTR
,
LPCSTR
,
DWORD
,
INT32
,
INT32
,
INT32
,
INT32
,
HWND32
,
HINSTANCE32
,
LPARAM
);
HWND32
WINAPI
CreateMDIWindow32W
(
LPCWSTR
,
LPCWSTR
,
DWORD
,
INT32
,
INT32
,
INT32
,
INT32
,
HWND32
,
HINSTANCE32
,
LPARAM
);
#define CreateMDIWindow WINELIB_NAME_AW(CreateMDIWindow)
LRESULT
WINAPI
DefDlgProc16
(
HWND16
,
UINT16
,
WPARAM16
,
LPARAM
);
LRESULT
WINAPI
DefDlgProc32A
(
HWND32
,
UINT32
,
WPARAM32
,
LPARAM
);
LRESULT
WINAPI
DefDlgProc32W
(
HWND32
,
UINT32
,
WPARAM32
,
LPARAM
);
...
...
relay32/user32.spec
View file @
5c6fc1bb
...
...
@@ -79,8 +79,8 @@ type win32
76 stdcall CreateIconFromResource (ptr long long long) CreateIconFromResource32
77 stdcall CreateIconFromResourceEx(ptr long long long long long long) CreateIconFromResourceEx32
78 stdcall CreateIconIndirect(ptr) CreateIconIndirect
79 stdcall CreateMDIWindowA(ptr ptr long long long long long long long long) CreateMDIWindowA
80 stdcall CreateMDIWindowW(ptr ptr long long long long long long long long) CreateMDIWindowW
79 stdcall CreateMDIWindowA(ptr ptr long long long long long long long long) CreateMDIWindow
32
A
80 stdcall CreateMDIWindowW(ptr ptr long long long long long long long long) CreateMDIWindow
32
W
81 stdcall CreateMenu() CreateMenu32
82 stdcall CreatePopupMenu() CreatePopupMenu32
83 stdcall CreateWindowExA(long str str long long long long long long long long ptr) CreateWindowEx32A
...
...
windows/mdi.c
View file @
5c6fc1bb
...
...
@@ -1527,9 +1527,36 @@ LRESULT WINAPI DefMDIChildProc32W( HWND32 hwnd, UINT32 message,
/**********************************************************************
* CreateMDIWindowA [USER32.79]
* CreateMDIWindowA [USER32.79] Creates a MDI child in new thread
* FIXME: its in the same thread now
*
* RETURNS
* Success: Handle to created window
* Failure: NULL
*/
HWND32
CreateMDIWindow32A
(
LPCSTR
lpClassName
,
/* [in] Pointer to registered child class name */
LPCSTR
lpWindowName
,
/* [in] Pointer to window name */
DWORD
dwStyle
,
/* [in] Window style */
INT32
X
,
/* [in] Horizontal position of window */
INT32
Y
,
/* [in] Vertical position of window */
INT32
nWidth
,
/* [in] Width of window */
INT32
nHeight
,
/* [in] Height of window */
HWND32
hWndParent
,
/* [in] Handle to parent window */
HINSTANCE32
hInstance
,
/* [in] Handle to application instance */
LPARAM
lParam
)
/* [in] Application-defined value */
{
WARN
(
mdi
,
"is only single threaded!
\n
"
);
return
MDI_CreateMDIWindow32A
(
lpClassName
,
lpWindowName
,
dwStyle
,
X
,
Y
,
nWidth
,
nHeight
,
hWndParent
,
hInstance
,
lParam
);
}
/**********************************************************************
* MDI_CreateMDIWindowA
* single threaded version of CreateMDIWindowA
* called by CreateWindowEx32A
*/
HWND32
WINAPI
CreateMDIWindow
A
(
HWND32
MDI_CreateMDIWindow32
A
(
LPCSTR
lpClassName
,
LPCSTR
lpWindowName
,
DWORD
dwStyle
,
...
...
@@ -1541,20 +1568,65 @@ HWND32 WINAPI CreateMDIWindowA(
HINSTANCE32
hInstance
,
LPARAM
lParam
)
{
FIXME
(
mdi
,
"(%s,%s,%ld,...): stub
\n
"
,
debugstr_a
(
lpClassName
),
debugstr_a
(
lpWindowName
),
dwStyle
);
return
(
HWND32
)
NULL
;
}
MDICLIENTINFO
*
pCi
;
MDICREATESTRUCT32A
cs
;
WND
*
pWnd
=
WIN_FindWndPtr
(
hWndParent
);
TRACE
(
mdi
,
"(%s,%s,%ld,%d,%d,%d,%d,%x,%d,%ld)
\n
"
,
debugstr_a
(
lpClassName
),
debugstr_a
(
lpWindowName
),
dwStyle
,
X
,
Y
,
nWidth
,
nHeight
,
hWndParent
,
hInstance
,
lParam
);
/******************************************************************************
* CreateMDIWindowW [USER32.80] Creates a MDI child window
if
(
!
pWnd
){
ERR
(
mdi
,
" bad hwnd for MDI-client: %d
\n
"
,
hWndParent
);
return
0
;
}
cs
.
szClass
=
lpClassName
;
cs
.
szTitle
=
lpWindowName
;
cs
.
hOwner
=
hInstance
;
cs
.
x
=
X
;
cs
.
y
=
Y
;
cs
.
cx
=
nWidth
;
cs
.
cy
=
nHeight
;
cs
.
style
=
dwStyle
;
cs
.
lParam
=
lParam
;
pCi
=
(
MDICLIENTINFO
*
)
pWnd
->
wExtra
;
return
MDICreateChild
(
pWnd
,
pCi
,
hWndParent
,
&
cs
);
}
/***************************************
* CreateMDIWindow32W [USER32.80] Creates a MDI child in new thread
*
* RETURNS
* Success: Handle to created window
* Failure: NULL
*/
HWND32
WINAPI
CreateMDIWindowW
(
HWND32
CreateMDIWindow32W
(
LPCWSTR
lpClassName
,
/* [in] Pointer to registered child class name */
LPCWSTR
lpWindowName
,
/* [in] Pointer to window name */
DWORD
dwStyle
,
/* [in] Window style */
INT32
X
,
/* [in] Horizontal position of window */
INT32
Y
,
/* [in] Vertical position of window */
INT32
nWidth
,
/* [in] Width of window */
INT32
nHeight
,
/* [in] Height of window */
HWND32
hWndParent
,
/* [in] Handle to parent window */
HINSTANCE32
hInstance
,
/* [in] Handle to application instance */
LPARAM
lParam
)
/* [in] Application-defined value */
{
FIXME
(
mdi
,
"(%s,%s,%ld,%d,%d,%d,%d,%x,%d,%ld): stub
\n
"
,
debugstr_w
(
lpClassName
),
debugstr_w
(
lpWindowName
),
dwStyle
,
X
,
Y
,
nWidth
,
nHeight
,
hWndParent
,
hInstance
,
lParam
);
return
(
HWND32
)
NULL
;
}
/******************************************************************************
* CreateMDIWindow32W [USER32.80] Creates a MDI child window
* single threaded version of CreateMDIWindow
* called by CreateWindowEx32W().
*/
HWND32
MDI_CreateMDIWindow32W
(
LPCWSTR
lpClassName
,
/* [in] Pointer to registered child class name */
LPCWSTR
lpWindowName
,
/* [in] Pointer to window name */
DWORD
dwStyle
,
/* [in] Window style */
...
...
windows/win.c
View file @
5c6fc1bb
...
...
@@ -32,6 +32,7 @@
#include "process.h"
#include "debug.h"
#include "winerror.h"
#include "mdi.h"
/* Desktop window */
static
WND
*
pWndDesktop
=
NULL
;
...
...
@@ -885,6 +886,8 @@ HWND32 WINAPI CreateWindowEx32A( DWORD exStyle, LPCSTR className,
ATOM
classAtom
;
CREATESTRUCT32A
cs
;
if
(
exStyle
&
WS_EX_MDICHILD
)
return
MDI_CreateMDIWindow32A
(
className
,
windowName
,
style
,
x
,
y
,
width
,
height
,
parent
,
instance
,
data
);
/* Find the class atom */
if
(
!
(
classAtom
=
GlobalFindAtom32A
(
className
)))
...
...
@@ -925,6 +928,9 @@ HWND32 WINAPI CreateWindowEx32W( DWORD exStyle, LPCWSTR className,
ATOM
classAtom
;
CREATESTRUCT32W
cs
;
if
(
exStyle
&
WS_EX_MDICHILD
)
return
MDI_CreateMDIWindow32W
(
className
,
windowName
,
style
,
x
,
y
,
width
,
height
,
parent
,
instance
,
data
);
/* Find the class atom */
if
(
!
(
classAtom
=
GlobalFindAtom32W
(
className
)))
...
...
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