首页 > 学院 > 开发设计 > 正文

在C#中使用消息处理

2019-11-17 04:17:08
字体:
来源:转载
供稿:网友

        public const int WM_USER = 0x400;

        public const int WM_MYBUTTONCLICK = WM_USER + 100;

        [DllImport("user32", EntryPoint = "SendMessage")]
        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

        PRotected override void WndProc(ref Message m)
        {
           
            if (m.Msg == WM_MYBUTTONCLICK)
            {
                MessageBox.Show("MyButton Click");
            }
            else
            {
                base.WndProc(ref m);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            SendMessage(this.Handle, WM_MYBUTTONCLICK, 0, 0);
        }

在上面的例子中定义一个鼠标消息,当鼠标移动到一个对象时触发这个消息!

 
系统消息定义从0到0x3FF,可以使用0x400到0x7FFF定义自己的消息。Windows把0x400定义为WM_USER。如果定义自已的一个消息,可以在WM_USER上加一个值。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表