RichEdit在用户拖动图片时检测

时间:2018-04-18 09:07:49

标签: winapi richedit

当用户在RichEdit字段的一个地方抓取图像时,我需要跟踪一个事件,将其拖动到另一个地方,然后将其丢弃。

但是在那些情况下,当用户按下鼠标左键,将其按住并将鼠标移动到其他地方的某个地方时,WM_LBUTTONUP消息不会在RichEdit程序中触发,所以当用户“掉线”时我无法得到这个时刻一个图像。

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

1 个答案:

答案 0 :(得分:0)

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

当窗口/控件不支持drag&删除你通常会在按钮按下消息中进行子类化并使用SetCapture,这样您就会收到有关窗口外发生的鼠标消息的通知......