NativeWindow.WndProc(Message) Méthode

Définition

Appelle la procédure de fenêtre par défaut associée à la fenêtre.

protected virtual void WndProc (ref System.Windows.Forms.Message m);

Paramètres

m
Message

Message qui est associé au message Windows en cours.

Exemples

L’exemple de code suivant illustre l’interception de messages de fenêtre de système d’exploitation dans une procédure de fenêtre. L’exemple crée une classe qui hérite de NativeWindow pour accomplir cette opération.

La MyNativeWindowListener classe se connecte à la procédure de fenêtre du formulaire passé au constructeur et remplace la WndProc méthode pour intercepter le message de fenêtre WM_ACTIVATEAPP . La classe illustre l’utilisation des AssignHandle méthodes et ReleaseHandle pour identifier le handle de fenêtre que NativeWindow utilisera. Le handle est attribué en fonction des Control.HandleCreated événements et Control.HandleDestroyed . Lorsque le message de WM_ACTIVATEAPP fenêtre est reçu, la classe appelle la form1.ApplicationActivated méthode .

Ce code est un extrait de l’exemple présenté dans la vue d’ensemble de la NativeWindow classe. Certains codes ne sont pas affichés par souci de concision. Consultez NativeWindow pour obtenir la liste complète du code.

// NativeWindow class to listen to operating system messages.
internal class MyNativeWindowListener : NativeWindow
{
    // Constant value was found in the "windows.h" header file.
    private const int WM_ACTIVATEAPP = 0x001C;

    private Form1 parent;

    public MyNativeWindowListener(Form1 parent)
    {

        parent.HandleCreated += new EventHandler(this.OnHandleCreated);
        parent.HandleDestroyed += new EventHandler(this.OnHandleDestroyed);
        this.parent = parent;
    }

    // Listen for the control's window creation and then hook into it.
    internal void OnHandleCreated(object sender, EventArgs e)
    {
        // Window is now created, assign handle to NativeWindow.
        AssignHandle(((Form1)sender).Handle);
    }
    internal void OnHandleDestroyed(object sender, EventArgs e)
    {
        // Window was destroyed, release hook.
        ReleaseHandle();
    }

    protected override void WndProc(ref Message m)
    {
        // Listen for operating system messages

        switch (m.Msg)
        {
            case WM_ACTIVATEAPP:

                // Notify the form that this message was received.
                // Application is activated or deactivated, 
                // based upon the WParam parameter.
                parent.ApplicationActivated(((int)m.WParam != 0));

                break;
        }
        base.WndProc(ref m);
    }
}

Remarques

Cette méthode est appelée lorsqu’un message de fenêtre est envoyé au handle de la fenêtre.

Notes pour les héritiers

Remplacez cette méthode pour implémenter un traitement de message spécifique. Appelez base.WndProc pour les messages non gérés.

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 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, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Voir aussi