DockResizeFilter.PreFilterMessage Method

Filters out a message before it is dispatched.
public bool PreFilterMessage( 
ref Message m 
)
This language is not supported or no code example is available.

Parameters

m
Message

The message to be dispatched. You cannot modify this message.

Return Value

bool

true 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.PreFilterMessage
public bool PreFilterMessage(ref Message m)
 {
     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.L_BUTTON_UP)
     {
         if (_isDragging)
         {
             StopDrag();
             return true;
         }
     }
     if (m.Msg == (int)Enums.WINDOW_MESSAGE.L_BUTTON_UP &&
         !_isDragging)
         return false;
     if (_isDragging)
         Cursor.Current = _activeSplitter.ResizeCursor;
     if (m.Msg == (int)Enums.WINDOW_MESSAGE.MOUSE_MOVE &&
         !_isDragging &&
         _dockPanel.MouseButtonState !=
         MouseButtons.None)
         return false;
     var control = Control.FromHandle(m.HWnd);
     if (control == null)
         return false;
     if (!(control == _dockPanel || _dockPanel.Contains(control)))
         return false;
     CheckCursor();
     if (m.Msg == (int)Enums.WINDOW_MESSAGE.L_BUTTON_DOWN)
     {
         var hotSplitter = HotSplitter();
         if (hotSplitter != null)
         {
             StartDrag(hotSplitter);
             return true;
         }
     }
     if (HotSplitter() != null)
         return true;
     if (_isDragging)
         return true;
     return false;
 }
					
This language is not supported or no code example is available.

.NET Framework

Supported in: 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

.NET Core

Supported in: 5.0+, 6.0+

In this article

Definition