mirror of
https://github.com/reactos/reactos.git
synced 2025-01-02 20:43:18 +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 );
|
||||
|
||||
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 )
|
||||
{
|
||||
|
@ -201,6 +213,11 @@ LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg,
|
|||
hIconTitleFont = CreateFontIndirectA( &logFont );
|
||||
}
|
||||
return (hIconTitleFont ? 0 : -1);
|
||||
#ifdef __REACTOS__
|
||||
case WM_DESTROY:
|
||||
NtUserSetWindowFNID(hWnd, FNID_DESTROY);
|
||||
break;
|
||||
#endif
|
||||
case WM_NCHITTEST:
|
||||
return HTCAPTION;
|
||||
case WM_NCMOUSEMOVE:
|
||||
|
|
|
@ -87,8 +87,23 @@ LRESULT
|
|||
WINAPI
|
||||
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;
|
||||
return 0;
|
||||
|
||||
if (message == WM_DESTROY)
|
||||
NtUserSetWindowFNID(hwnd, FNID_DESTROY);
|
||||
|
||||
return DefWindowProc(hwnd, message, wParam, lParam );
|
||||
}
|
||||
|
||||
LRESULT
|
||||
|
|
|
@ -1248,12 +1248,31 @@ ScrollBarWndProc(WNDPROC DefWindowProc, HWND Wnd, UINT Msg, WPARAM wParam, LPARA
|
|||
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)
|
||||
{
|
||||
case WM_CREATE:
|
||||
IntScrollCreateScrollBar(Wnd, (LPCREATESTRUCTW) lParam);
|
||||
break;
|
||||
|
||||
#ifdef __REACTOS__
|
||||
case WM_DESTROY:
|
||||
NtUserSetWindowFNID(Wnd, FNID_DESTROY);
|
||||
return DefWindowProc(Wnd, Msg, wParam, lParam );
|
||||
#endif
|
||||
|
||||
//#if 0 /* FIXME */
|
||||
case WM_ENABLE:
|
||||
{
|
||||
|
|
|
@ -813,6 +813,9 @@ static void STATIC_PaintRectfn( HWND hwnd, HDC hdc, DWORD style )
|
|||
GetClientRect( hwnd, &rc);
|
||||
|
||||
/* FIXME: send WM_CTLCOLORSTATIC */
|
||||
#ifdef __REACTOS__
|
||||
hBrush = STATIC_SendWmCtlColorStatic(hwnd, hdc); // Always sent....
|
||||
#endif
|
||||
switch (style & SS_TYPEMASK)
|
||||
{
|
||||
case SS_BLACKRECT:
|
||||
|
|
|
@ -1792,9 +1792,24 @@ MenuMoveSelection(HWND WndOwner, PROSMENUINFO MenuInfo, INT Offset)
|
|||
MenuCleanupRosMenuItemInfo(&ItemInfo);
|
||||
}
|
||||
|
||||
//
|
||||
// This breaks some test results. Should handle A2U if called!
|
||||
//
|
||||
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);
|
||||
#ifdef __REACTOS__
|
||||
PWND pWnd;
|
||||
|
||||
pWnd = ValidateHwnd(Wnd);
|
||||
if (pWnd)
|
||||
{
|
||||
if (!pWnd->fnid)
|
||||
{
|
||||
NtUserSetWindowFNID(Wnd, FNID_MENU);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
switch(Message)
|
||||
{
|
||||
|
@ -1834,6 +1849,9 @@ LRESULT WINAPI PopupMenuWndProcA(HWND Wnd, UINT Message, WPARAM wParam, LPARAM l
|
|||
top_popup = NULL;
|
||||
top_popup_hmenu = NULL;
|
||||
}
|
||||
#ifdef __REACTOS__
|
||||
NtUserSetWindowFNID(Wnd, FNID_DESTROY);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case WM_SHOWWINDOW:
|
||||
|
@ -1868,6 +1886,18 @@ LRESULT WINAPI
|
|||
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);
|
||||
#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)
|
||||
{
|
||||
|
@ -1907,6 +1937,9 @@ PopupMenuWndProcW(HWND Wnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
|||
top_popup = NULL;
|
||||
top_popup_hmenu = NULL;
|
||||
}
|
||||
#ifdef __REACTOS__
|
||||
NtUserSetWindowFNID(Wnd, FNID_DESTROY);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case WM_SHOWWINDOW:
|
||||
|
|
Loading…
Reference in a new issue