mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
implemented AnyPopup()
svn path=/trunk/; revision=9270
This commit is contained in:
parent
86805ab86a
commit
1c49860e46
7 changed files with 60 additions and 21 deletions
|
@ -156,11 +156,12 @@ NtUserCallNextHookEx(
|
|||
WPARAM wParam,
|
||||
LPARAM lParam);
|
||||
|
||||
#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
|
||||
#define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
|
||||
#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
|
||||
#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
|
||||
#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
|
||||
#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
|
||||
#define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
|
||||
#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
|
||||
#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
|
||||
#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
|
||||
#define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallNoParam(
|
||||
|
|
|
@ -30,6 +30,8 @@ VOID CreateFrameBrushes(VOID);
|
|||
VOID DeleteFrameBrushes(VOID);
|
||||
void DrawCaret(HWND hWnd, PTHRDCARETINFO CaretInfo);
|
||||
|
||||
#define NtUserAnyPopup() \
|
||||
(BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_ANYPOPUP)
|
||||
|
||||
#define NtUserValidateRgn(hWnd, hRgn) \
|
||||
(BOOL)NtUserCallTwoParam((DWORD)hWnd, (DWORD)hRgn, TWOPARAM_ROUTINE_VALIDATERGN)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: stubs.c,v 1.60 2004/05/01 16:43:14 weiden Exp $
|
||||
/* $Id: stubs.c,v 1.61 2004/05/01 18:06:59 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -18,17 +18,6 @@
|
|||
typedef PVOID LPIMEPROW, LPIMEPROA;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
AnyPopup(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: window.c,v 1.113 2004/04/29 21:13:16 gvg Exp $
|
||||
/* $Id: window.c,v 1.114 2004/05/01 18:06:59 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -1645,5 +1645,15 @@ ScrollWindowEx(HWND hWnd, int dx, int dy, CONST RECT *prcScroll,
|
|||
prcUpdate, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
AnyPopup(VOID)
|
||||
{
|
||||
return NtUserAnyPopup();
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
|
|
|
@ -210,6 +210,9 @@ IntGetWindowInfo(PWINDOW_OBJECT WindowObject, PWINDOWINFO pwi);
|
|||
VOID FASTCALL
|
||||
IntGetWindowBorderMeasures(PWINDOW_OBJECT WindowObject, INT *cx, INT *cy);
|
||||
|
||||
BOOL FASTCALL
|
||||
IntAnyPopup(VOID);
|
||||
|
||||
DWORD IntRemoveWndProcHandle(WNDPROC Handle);
|
||||
DWORD IntRemoveProcessWndProcHandles(HANDLE ProcessID);
|
||||
DWORD IntAddWndProcHandle(WNDPROC WindowProc, BOOL IsUnicode);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: misc.c,v 1.67 2004/05/01 16:43:15 weiden Exp $
|
||||
/* $Id: misc.c,v 1.68 2004/05/01 18:06:59 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -133,6 +133,10 @@ NtUserCallNoParam(DWORD Routine)
|
|||
Result = (DWORD)MsqGetMessageExtraInfo();
|
||||
break;
|
||||
|
||||
case NOPARAM_ROUTINE_ANYPOPUP:
|
||||
Result = (DWORD)IntAnyPopup();
|
||||
break;
|
||||
|
||||
default:
|
||||
DPRINT1("Calling invalid routine number 0x%x in NtUserCallNoParam\n");
|
||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: window.c,v 1.221 2004/04/29 21:17:36 gvg Exp $
|
||||
/* $Id: window.c,v 1.222 2004/05/01 18:06:59 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -1070,6 +1070,36 @@ IntUnlinkWindow(PWINDOW_OBJECT Wnd)
|
|||
IntUnLockRelatives(Wnd);
|
||||
}
|
||||
|
||||
BOOL FASTCALL
|
||||
IntAnyPopup(VOID)
|
||||
{
|
||||
PWINDOW_OBJECT Window, Child;
|
||||
|
||||
if(!(Window = IntGetWindowObject(IntGetDesktopWindow())))
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_WINDOW_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
IntLockRelatives(Window);
|
||||
for(Child = Window->FirstChild; Child; Child = Child->NextSibling)
|
||||
{
|
||||
if(Child->Owner && Child->Style & WS_VISIBLE)
|
||||
{
|
||||
/*
|
||||
* The desktop has a popup window if one of them has
|
||||
* an owner window and is visible
|
||||
*/
|
||||
IntUnLockRelatives(Window);
|
||||
IntReleaseWindowObject(Window);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
IntUnLockRelatives(Window);
|
||||
IntReleaseWindowObject(Window);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue