DockContentDragFilter.PreFilterMessage Method
Parameters
- m
- Message
The message to be dispatched. You cannot modify this message.
Return Value
booltrue to filter the message and stop it from being dispatched; false to allow the message to continue to the next filter or control.
Implements
IMessageFilter.PreFilterMessagepublic bool PreFilterMessage(ref Message m) { if (!_isDragging) return false; if (!(m.Msg == (int)Enums.WINDOW_MESSAGE.MOUSE_MOVE || m.Msg == (int)Enums.WINDOW_MESSAGE.L_BUTTON_DOWN || m.Msg == (int)Enums.WINDOW_MESSAGE.L_BUTTON_UP || m.Msg == (int)Enums.WINDOW_MESSAGE.L_BUTTON_DBL_CLK || m.Msg == (int)Enums.WINDOW_MESSAGE.R_BUTTON_DOWN || m.Msg == (int)Enums.WINDOW_MESSAGE.R_BUTTON_UP || m.Msg == (int)Enums.WINDOW_MESSAGE.R_BUTTON_DBL_CLK)) return false; if (m.Msg == (int)Enums.WINDOW_MESSAGE.MOUSE_MOVE) { HandleDrag(); return false; } if (m.Msg == (int)Enums.WINDOW_MESSAGE.L_BUTTON_UP) { if (_targetRegion != null) { _dockPanel.RemoveContent(_dragContent); _dragContent.DockArea = _targetRegion.DockArea; _dockPanel.AddContent(_dragContent); } else if (_targetGroup != null) { _dockPanel.RemoveContent(_dragContent); switch (_insertType) { case DockInsertType.None: _dockPanel.AddContent(_dragContent, _targetGroup); break; case DockInsertType.Before: case DockInsertType.After: _dockPanel.InsertContent(_dragContent, _targetGroup, _insertType); break; } } StopDrag(); return false; } return true; }
This language is not supported or no code example is available.