Winapi RichEdit在用户拖动图片时检测

Winapi RichEdit在用户拖动图片时检测,winapi,richedit,Winapi,Richedit,我需要跟踪一个事件,当用户在RichEdit字段的一个位置抓取一个图像,将其拖到另一个位置,然后将其放到那里 但在这种情况下,当用户按下鼠标左键,按住它并将鼠标移到其他位置时,在RichEdit过程中不会触发WM_LBUTTONUP消息,因此我无法获得用户“删除”图像的时刻 那么,我应该如何在RichEdit控件中检测WM_LBUTTONUP或可能是拖放事件呢?根据MSDN,您必须使用EM_SETEVENTMASK消息设置ENM_DRAGDROPDONE标志,然后您将在WM_NOTIFY中收到通

我需要跟踪一个事件,当用户在RichEdit字段的一个位置抓取一个图像,将其拖到另一个位置,然后将其放到那里

但在这种情况下,当用户按下鼠标左键,按住它并将鼠标移到其他位置时,在RichEdit过程中不会触发WM_LBUTTONUP消息,因此我无法获得用户“删除”图像的时刻


那么,我应该如何在RichEdit控件中检测WM_LBUTTONUP或可能是拖放事件呢?

根据MSDN,您必须使用
EM_SETEVENTMASK
消息设置
ENM_DRAGDROPDONE
标志,然后您将在
WM_NOTIFY
中收到通知


当窗口/控件不支持拖放时,您通常会在按钮按下消息中创建子类并使用
SetCapture
,这样您会收到有关稍后在窗口外发生的鼠标消息的通知…

WM_LBUTTONUP甚至不会在RichEdit中触发,当我单击fast时(不是双击,只是快速)。只有当我按下LMB,按住它一秒钟,然后释放时,它才会开火。然后触发WM_LBUTTONUP偶数。