Utilisation de ‘IMessageFilter’: Suivre l’action de clique de la souris

Author:

Modifier,ou,créer,une,source,d'événement
{filelink=15687}

using System;
using System.Windows.Forms;

public class MessageBoutonSouris : IMessageFilter
{
    const int WM_LBUTTONDOWN = 0x201;
    const int WM_LBUTTONUP = 0x202;
    const int WM_RBUTTONDOWN = 0x204;
    const int WM_RBUTTONUP = 0x205;

    public bool PreFilterMessage(ref Message m)
    {
        if(m.Msg == WM_LBUTTONDOWN)
        {
            Console.WriteLine("Le bouton Gauche de la souris est Appuyé.");
            return true;
        }
        if(m.Msg == WM_LBUTTONUP)
        {
            Console.WriteLine("Le bouton Gauche de la souris est Relâché.");
            return true;
        }
        if (m.Msg == WM_RBUTTONUP)
        {
            Console.WriteLine("Le bouton Droite de la souris est Appuyé.");
            return true;
        }
        if (m.Msg == WM_RBUTTONDOWN)
        {
            Console.WriteLine("Le bouton Droite de la souris est Relâché.");
            return true;
        }
        return false;
    }
}

public class MainForm : Form
{
    public static void Main()
    {
        MainForm MyForm = new MainForm();
        MessageBoutonSouris MsgFilter = new MessageBoutonSouris();

        Application.AddMessageFilter(MsgFilter);
        Application.Run(MyForm);
    }

    public MainForm()
    {
        Text = "Exemple Message Filter";
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *