当用户在RichEdit字段的一个地方抓取图像时,我需要跟踪一个事件,将其拖动到另一个地方,然后将其丢弃。
但是在那些情况下,当用户按下鼠标左键,将其按住并将鼠标移动到其他地方的某个地方时,WM_LBUTTONUP消息不会在RichEdit程序中触发,所以当用户“掉线”时我无法得到这个时刻一个图像。
那么我应该如何检测WM_LBUTTONUP或者可能是RichEdit控件中的拖放事件呢?
答案 0 :(得分:0)
根据MSDN,您必须使用ENM_DRAGDROPDONE
消息设置EM_SETEVENTMASK
标记,然后您将在WM_NOTIFY
中收到EN_DRAGDROPDONE
。
当窗口/控件不支持drag&删除你通常会在按钮按下消息中进行子类化并使用SetCapture
,这样您就会收到有关窗口外发生的鼠标消息的通知......