mirror of
https://github.com/reactos/reactos.git
synced 2025-05-31 23:18:39 +00:00
msgdump.h undocumented drag & drop support (#1359)
In sdk/include/reactos/msgdump.h, support Drag & Drop undocumented messages.
This commit is contained in:
parent
22cb300805
commit
a8002fc065
2 changed files with 115 additions and 5 deletions
|
@ -5,7 +5,7 @@
|
|||
* COPYRIGHT: Copyright 2018 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
||||
*/
|
||||
#ifndef _INC_MSGDUMP
|
||||
#define _INC_MSGDUMP
|
||||
#define _INC_MSGDUMP 2 /* Version 2 */
|
||||
|
||||
/*
|
||||
* NOTE: MD_msgdump function in this file provides Win32API message dump feature.
|
||||
|
@ -14,7 +14,9 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#include "winxx.h" /* An unofficial extension of <windowsx.h>. */
|
||||
#ifndef _INC_WINXX
|
||||
#include "winxx.h" /* An unofficial extension of <windowsx.h>. */
|
||||
#endif
|
||||
#include <strsafe.h>
|
||||
|
||||
#ifndef MSGDUMP_TPRINTF
|
||||
|
@ -938,6 +940,56 @@ MD_MDIGetActive(HWND hwnd)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#ifdef _UNDOCUSER_H
|
||||
static __inline LRESULT MSGDUMP_API
|
||||
MD_OnDropObject(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
MSGDUMP_TPRINTF(TEXT("%sWM_DROPOBJECT(hwnd:%p, wParam:%p, lParam:%p)\n"),
|
||||
MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __inline LRESULT MSGDUMP_API
|
||||
MD_OnQueryDropObject(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
MSGDUMP_TPRINTF(TEXT("%sWM_QUERYDROPOBJECT(hwnd:%p, wParam:%p, lParam:%p)\n"),
|
||||
MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __inline LRESULT MSGDUMP_API
|
||||
MD_OnBeginDrag(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
MSGDUMP_TPRINTF(TEXT("%sWM_BEGINDRAG(hwnd:%p, wParam:%p, lParam:%p)\n"),
|
||||
MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __inline LRESULT MSGDUMP_API
|
||||
MD_OnDragLoop(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
MSGDUMP_TPRINTF(TEXT("%sWM_DRAGLOOP(hwnd:%p, wParam:%p, lParam:%p)\n"),
|
||||
MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __inline LRESULT MSGDUMP_API
|
||||
MD_OnDragSelect(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
MSGDUMP_TPRINTF(TEXT("%sWM_DRAGSELECT(hwnd:%p, wParam:%p, lParam:%p)\n"),
|
||||
MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __inline LRESULT MSGDUMP_API
|
||||
MD_OnDragMove(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
MSGDUMP_TPRINTF(TEXT("%sWM_DRAGMOVE(hwnd:%p, wParam:%p, lParam:%p)\n"),
|
||||
MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static __inline HMENU MSGDUMP_API
|
||||
MD_MDISetMenu(HWND hwnd, BOOL fRefresh, HMENU hmenuFrame, HMENU hmenuWindow)
|
||||
{
|
||||
|
@ -2916,6 +2968,14 @@ MD_msgdump(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
HANDLE_MSG(hwnd, WM_MDICASCADE, MD_MDICascade);
|
||||
HANDLE_MSG(hwnd, WM_MDIICONARRANGE, MD_MDIIconArrange);
|
||||
HANDLE_MSG(hwnd, WM_MDIGETACTIVE, MD_MDIGetActive);
|
||||
#ifdef _UNDOCUSER_H
|
||||
HANDLE_MSG(hwnd, WM_DROPOBJECT, MD_OnDropObject);
|
||||
HANDLE_MSG(hwnd, WM_QUERYDROPOBJECT, MD_OnQueryDropObject);
|
||||
HANDLE_MSG(hwnd, WM_BEGINDRAG, MD_OnBeginDrag);
|
||||
HANDLE_MSG(hwnd, WM_DRAGLOOP, MD_OnDragLoop);
|
||||
HANDLE_MSG(hwnd, WM_DRAGSELECT, MD_OnDragSelect);
|
||||
HANDLE_MSG(hwnd, WM_DRAGMOVE, MD_OnDragMove);
|
||||
#endif
|
||||
HANDLE_MSG(hwnd, WM_MDISETMENU, MD_MDISetMenu);
|
||||
HANDLE_MSG(hwnd, WM_ENTERSIZEMOVE, MD_OnEnterSizeMove);
|
||||
HANDLE_MSG(hwnd, WM_EXITSIZEMOVE, MD_OnExitSizeMove);
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
* PROJECT: ReactOS header files
|
||||
* LICENSE: CC-BY-4.0 (https://spdx.org/licenses/CC-BY-4.0.html)
|
||||
* PURPOSE: An unofficial extension of <windowsx.h>
|
||||
* COPYRIGHT: Copyright 2017-2018 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
||||
* COPYRIGHT: Copyright 2017-2019 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
||||
*/
|
||||
|
||||
#ifndef _INC_WINXX
|
||||
#define _INC_WINXX
|
||||
#define _INC_WINXX 2 /* Version 2 */
|
||||
|
||||
#pragma once
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
|||
#ifndef HANDLE_WM_NULL
|
||||
#define HANDLE_WM_NULL(hwnd, wParam, lParam, fn) \
|
||||
((fn)((hwnd)), 0L)
|
||||
#define FORWARD_WM_NULL(hwnd, compactRatio, fn) \
|
||||
#define FORWARD_WM_NULL(hwnd, fn) \
|
||||
(void)((fn)((hwnd), WM_NULL, 0, 0L), 0L)
|
||||
#endif
|
||||
|
||||
|
@ -1044,4 +1044,54 @@
|
|||
#define HANDLE_SBM_GETSCROLLBARINFO(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)(INT_PTR)(BOOL)(fn)((hwnd), (LPSCROLLBARINFO)(lParam))
|
||||
|
||||
#ifdef _UNDOCUSER_H /* UNDOCUMENTED */
|
||||
/* LRESULT Cls_OnDropObject(HWND hwnd, WPARAM wParam, LPARAM lParam) */
|
||||
#ifndef HANDLE_WM_DROPOBJECT
|
||||
#define HANDLE_WM_DROPOBJECT(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)(fn)((hwnd), (wParam), (lParam))
|
||||
#define FORWARD_WM_DROPOBJECT(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)((fn)((hwnd), WM_DROPOBJECT, wParam, lParam))
|
||||
#endif
|
||||
|
||||
/* LRESULT Cls_OnQueryDropObject(HWND hwnd, WPARAM wParam, LPARAM lParam) */
|
||||
#ifndef HANDLE_WM_QUERYDROPOBJECT
|
||||
#define HANDLE_WM_QUERYDROPOBJECT(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)(fn)((hwnd), (wParam), (lParam))
|
||||
#define FORWARD_WM_QUERYDROPOBJECT(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)((fn)((hwnd), WM_QUERYDROPOBJECT, wParam, lParam))
|
||||
#endif
|
||||
|
||||
/* LRESULT Cls_OnBeginDrag(HWND hwnd, WPARAM wParam, LPARAM lParam) */
|
||||
#ifndef HANDLE_WM_BEGINDRAG
|
||||
#define HANDLE_WM_BEGINDRAG(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)(fn)((hwnd), (wParam), (lParam))
|
||||
#define FORWARD_WM_BEGINDRAG(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)((fn)((hwnd), WM_BEGINDRAG, wParam, lParam))
|
||||
#endif
|
||||
|
||||
/* LRESULT Cls_OnDragLoop(HWND hwnd, WPARAM wParam, LPARAM lParam) */
|
||||
#ifndef HANDLE_WM_DRAGLOOP
|
||||
#define HANDLE_WM_DRAGLOOP(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)(fn)((hwnd), (wParam), (lParam))
|
||||
#define FORWARD_WM_DRAGLOOP(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)((fn)((hwnd), WM_DRAGLOOP, wParam, lParam))
|
||||
#endif
|
||||
|
||||
/* LRESULT Cls_OnDragSelect(HWND hwnd, WPARAM wParam, LPARAM lParam) */
|
||||
#ifndef HANDLE_WM_DRAGSELECT
|
||||
#define HANDLE_WM_DRAGSELECT(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)(fn)((hwnd), (wParam), (lParam))
|
||||
#define FORWARD_WM_DRAGSELECT(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)((fn)((hwnd), WM_DRAGSELECT, wParam, lParam))
|
||||
#endif
|
||||
|
||||
/* LRESULT Cls_OnDragMove(HWND hwnd, WPARAM wParam, LPARAM lParam) */
|
||||
#ifndef HANDLE_WM_DRAGMOVE
|
||||
#define HANDLE_WM_DRAGMOVE(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)(fn)((hwnd), (wParam), (lParam))
|
||||
#define FORWARD_WM_DRAGMOVE(hwnd, wParam, lParam, fn) \
|
||||
(LRESULT)((fn)((hwnd), WM_DRAGMOVE, wParam, lParam))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue