mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:03:00 +00:00
[User32]
- Finishing with setting window class types from the window proc. Next step will be checking it in the User32 message exchange instead of using the class structure. This was recognized with the MDI tests, this too could fix the combo listbox issue. - Minor static test fixes and miscellaneous notes. svn path=/trunk/; revision=51095
This commit is contained in:
parent
1b6ac48af4
commit
06afcd3dd6
5 changed files with 88 additions and 1 deletions
|
@ -189,6 +189,18 @@ LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg,
|
||||||
HWND owner = GetWindow( hWnd, GW_OWNER );
|
HWND owner = GetWindow( hWnd, GW_OWNER );
|
||||||
|
|
||||||
if (!IsWindow(hWnd)) return 0;
|
if (!IsWindow(hWnd)) return 0;
|
||||||
|
#ifdef __REACTOS__ // Do this now, remove after Server side is fixed.
|
||||||
|
PWND pWnd;
|
||||||
|
|
||||||
|
pWnd = ValidateHwnd(hWnd);
|
||||||
|
if (pWnd)
|
||||||
|
{
|
||||||
|
if (!pWnd->fnid)
|
||||||
|
{
|
||||||
|
NtUserSetWindowFNID(hWnd, FNID_ICONTITLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
switch( msg )
|
switch( msg )
|
||||||
{
|
{
|
||||||
|
@ -201,6 +213,11 @@ LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg,
|
||||||
hIconTitleFont = CreateFontIndirectA( &logFont );
|
hIconTitleFont = CreateFontIndirectA( &logFont );
|
||||||
}
|
}
|
||||||
return (hIconTitleFont ? 0 : -1);
|
return (hIconTitleFont ? 0 : -1);
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
case WM_DESTROY:
|
||||||
|
NtUserSetWindowFNID(hWnd, FNID_DESTROY);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
case WM_NCHITTEST:
|
case WM_NCHITTEST:
|
||||||
return HTCAPTION;
|
return HTCAPTION;
|
||||||
case WM_NCMOUSEMOVE:
|
case WM_NCMOUSEMOVE:
|
||||||
|
|
|
@ -87,8 +87,23 @@ LRESULT
|
||||||
WINAPI
|
WINAPI
|
||||||
MsgWindowProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
|
MsgWindowProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
|
PWND pWnd;
|
||||||
|
|
||||||
|
pWnd = ValidateHwnd(hwnd);
|
||||||
|
if (pWnd)
|
||||||
|
{
|
||||||
|
if (!pWnd->fnid)
|
||||||
|
{
|
||||||
|
NtUserSetWindowFNID(hwnd, FNID_MESSAGEWND);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (message == WM_NCCREATE) return TRUE;
|
if (message == WM_NCCREATE) return TRUE;
|
||||||
return 0;
|
|
||||||
|
if (message == WM_DESTROY)
|
||||||
|
NtUserSetWindowFNID(hwnd, FNID_DESTROY);
|
||||||
|
|
||||||
|
return DefWindowProc(hwnd, message, wParam, lParam );
|
||||||
}
|
}
|
||||||
|
|
||||||
LRESULT
|
LRESULT
|
||||||
|
|
|
@ -1248,12 +1248,31 @@ ScrollBarWndProc(WNDPROC DefWindowProc, HWND Wnd, UINT Msg, WPARAM wParam, LPARA
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __REACTOS__ // Do this now, remove after Server side is fixed.
|
||||||
|
PWND pWnd;
|
||||||
|
|
||||||
|
pWnd = ValidateHwnd(Wnd);
|
||||||
|
if (pWnd)
|
||||||
|
{
|
||||||
|
if (!pWnd->fnid)
|
||||||
|
{
|
||||||
|
NtUserSetWindowFNID(Wnd, FNID_SCROLLBAR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (Msg)
|
switch (Msg)
|
||||||
{
|
{
|
||||||
case WM_CREATE:
|
case WM_CREATE:
|
||||||
IntScrollCreateScrollBar(Wnd, (LPCREATESTRUCTW) lParam);
|
IntScrollCreateScrollBar(Wnd, (LPCREATESTRUCTW) lParam);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
case WM_DESTROY:
|
||||||
|
NtUserSetWindowFNID(Wnd, FNID_DESTROY);
|
||||||
|
return DefWindowProc(Wnd, Msg, wParam, lParam );
|
||||||
|
#endif
|
||||||
|
|
||||||
//#if 0 /* FIXME */
|
//#if 0 /* FIXME */
|
||||||
case WM_ENABLE:
|
case WM_ENABLE:
|
||||||
{
|
{
|
||||||
|
|
|
@ -813,6 +813,9 @@ static void STATIC_PaintRectfn( HWND hwnd, HDC hdc, DWORD style )
|
||||||
GetClientRect( hwnd, &rc);
|
GetClientRect( hwnd, &rc);
|
||||||
|
|
||||||
/* FIXME: send WM_CTLCOLORSTATIC */
|
/* FIXME: send WM_CTLCOLORSTATIC */
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
hBrush = STATIC_SendWmCtlColorStatic(hwnd, hdc); // Always sent....
|
||||||
|
#endif
|
||||||
switch (style & SS_TYPEMASK)
|
switch (style & SS_TYPEMASK)
|
||||||
{
|
{
|
||||||
case SS_BLACKRECT:
|
case SS_BLACKRECT:
|
||||||
|
|
|
@ -1792,9 +1792,24 @@ MenuMoveSelection(HWND WndOwner, PROSMENUINFO MenuInfo, INT Offset)
|
||||||
MenuCleanupRosMenuItemInfo(&ItemInfo);
|
MenuCleanupRosMenuItemInfo(&ItemInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// This breaks some test results. Should handle A2U if called!
|
||||||
|
//
|
||||||
LRESULT WINAPI PopupMenuWndProcA(HWND Wnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
LRESULT WINAPI PopupMenuWndProcA(HWND Wnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
TRACE("YES! hwnd=%x msg=0x%04x wp=0x%04lx lp=0x%08lx\n", Wnd, Message, wParam, lParam);
|
TRACE("YES! hwnd=%x msg=0x%04x wp=0x%04lx lp=0x%08lx\n", Wnd, Message, wParam, lParam);
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
PWND pWnd;
|
||||||
|
|
||||||
|
pWnd = ValidateHwnd(Wnd);
|
||||||
|
if (pWnd)
|
||||||
|
{
|
||||||
|
if (!pWnd->fnid)
|
||||||
|
{
|
||||||
|
NtUserSetWindowFNID(Wnd, FNID_MENU);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
switch(Message)
|
switch(Message)
|
||||||
{
|
{
|
||||||
|
@ -1834,6 +1849,9 @@ LRESULT WINAPI PopupMenuWndProcA(HWND Wnd, UINT Message, WPARAM wParam, LPARAM l
|
||||||
top_popup = NULL;
|
top_popup = NULL;
|
||||||
top_popup_hmenu = NULL;
|
top_popup_hmenu = NULL;
|
||||||
}
|
}
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
NtUserSetWindowFNID(Wnd, FNID_DESTROY);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_SHOWWINDOW:
|
case WM_SHOWWINDOW:
|
||||||
|
@ -1868,6 +1886,18 @@ LRESULT WINAPI
|
||||||
PopupMenuWndProcW(HWND Wnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
PopupMenuWndProcW(HWND Wnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
TRACE("hwnd=%x msg=0x%04x wp=0x%04lx lp=0x%08lx\n", Wnd, Message, wParam, lParam);
|
TRACE("hwnd=%x msg=0x%04x wp=0x%04lx lp=0x%08lx\n", Wnd, Message, wParam, lParam);
|
||||||
|
#ifdef __REACTOS__ // Do this now, remove after Server side is fixed.
|
||||||
|
PWND pWnd;
|
||||||
|
|
||||||
|
pWnd = ValidateHwnd(Wnd);
|
||||||
|
if (pWnd)
|
||||||
|
{
|
||||||
|
if (!pWnd->fnid)
|
||||||
|
{
|
||||||
|
NtUserSetWindowFNID(Wnd, FNID_MENU);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
switch(Message)
|
switch(Message)
|
||||||
{
|
{
|
||||||
|
@ -1907,6 +1937,9 @@ PopupMenuWndProcW(HWND Wnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
top_popup = NULL;
|
top_popup = NULL;
|
||||||
top_popup_hmenu = NULL;
|
top_popup_hmenu = NULL;
|
||||||
}
|
}
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
NtUserSetWindowFNID(Wnd, FNID_DESTROY);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_SHOWWINDOW:
|
case WM_SHOWWINDOW:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue