/// <summary> /// Creates and Initializes a new MsgHandler structure /// </summary> /// <param name="m_MsgNum">Msg # to trap</param> /// <param name="m_WM_Handler">User-defined Handler for the message</param> public MsgTrap(int m_MsgNum, WM_Delegate m_WM_Handler) { this.msgNum = m_MsgNum; this.WM_Handler = m_WM_Handler; }
/// <summary> /// Registers a new Message to the trapped and its associated handler (delegate) /// </summary> /// <param name="msg">Windows message number to trap</param> /// <param name="WM_Handler">Handler to invoke. Null=Unregister</param> public bool AddHandler(int msg, WM_Delegate WM_Handler) { MsgTrap msgTrap = new MsgTrap(msg, WM_Handler); if (this.msgTrapList.Contains(msgTrap)) { return false; } if (WM_Handler != null) { this.msgTrapList.Add(msgTrap); } else { this.msgTrapList.Remove(msgTrap); } return true; }