Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Message-Struktur

 

Veröffentlicht: Oktober 2016

Implementiert eine Windows-Meldung.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public struct Message

NameBeschreibung
System_CAPS_pubpropertyHWnd

Ruft ab oder legt das Fensterhandle der Meldung.

System_CAPS_pubpropertyLParam

Gibt die LParam Feld der Nachricht.

System_CAPS_pubpropertyMsg

Ruft ab oder legt die ID-Nummer für die Nachricht.

System_CAPS_pubpropertyResult

Gibt den Wert, der als Antwort auf die Meldungsbehandlung an Windows zurückgegeben wird.

System_CAPS_pubpropertyWParam

Ruft ab oder legt das WParam -Feld der Meldung.

NameBeschreibung
System_CAPS_pubmethodSystem_CAPS_staticCreate(IntPtr, Int32, IntPtr, IntPtr)

Erstellt einen neuen Message.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Überschreibt ValueType.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Überschreibt ValueType.GetHashCode().)

System_CAPS_pubmethodGetLParam(Type)

Ruft den LParam -Wert und den Wert in ein Objekt konvertiert.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt eine String zurück, die das aktuelle Message darstellt.(Überschreibt ValueType.ToString().)

NameBeschreibung
System_CAPS_puboperatorSystem_CAPS_staticEquality(Message, Message)

Bestimmt, ob zwei Instanzen von Message gleich sind.

System_CAPS_puboperatorSystem_CAPS_staticInequality(Message, Message)

Bestimmt, ob zwei Instanzen des Message ungleich sind.

Die Message Struktur schließt Windows gesendeten Nachrichten. Diese Struktur können Sie eine Meldung umschließen und der Fensterprozedur zum Verteilen zuweisen. Sie können auch diese Struktur verwenden, zum Abrufen von Informationen über eine Meldung, dass das System an die Anwendung oder die Steuerelemente sendet. Weitere Informationen zu Windows-Nachrichten finden Sie unter Messages and Message Queues.

Sie können keine erstellen die Message direkt. Verwenden Sie stattdessen die Create Methode. Aus Gründen der Effizienz der Message verwendet einen vorhandenen Messages statt, wenn möglich, eine neue zu instanziieren. Jedoch, wenn eine Message ist im Pool nicht verfügbar ist, wird eine neue instanziiert.

Das folgende Codebeispiel veranschaulicht das Überschreiben der WndProc Methode zur Behandlung von Betriebssystem-Nachrichten gemäß der Message. Die Betriebssystem-WM_ACTIVATEAPP-Meldung erfolgt in diesem Beispiel wissen, wann eine andere Anwendung active aufgefüllt wird. Weitere Informationen zu den verfügbaren Message.Msg, Message.LParam, und Message.WParam -Werte finden Sie in der MSG Structure Dokumentation. Informationen über die tatsächlichen Konstanten Werte finden Sie unter Message Constants.

using System;
using System.Drawing;
using System.Windows.Forms;

namespace csTempWindowsApplication1
{
    public class Form1 : System.Windows.Forms.Form
    {
        // Constant value was found in the "windows.h" header file.
        private const int WM_ACTIVATEAPP = 0x001C;
        private bool appActive = true;

        [STAThread]
        static void Main() 
        {
            Application.Run(new Form1());
        }

        public Form1()
        {
            this.Size = new System.Drawing.Size(300,300);
            this.Text = "Form1";
            this.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
        }

        protected override void OnPaint(PaintEventArgs e) 
        {
            // Paint a string in different styles depending on whether the
            // application is active.
            if (appActive) 
            {
                e.Graphics.FillRectangle(SystemBrushes.ActiveCaption,20,20,260,50);
                e.Graphics.DrawString("Application is active", this.Font, SystemBrushes.ActiveCaptionText, 20,20);
            }
            else 
            {
                e.Graphics.FillRectangle(SystemBrushes.InactiveCaption,20,20,260,50);
                e.Graphics.DrawString("Application is Inactive", this.Font, SystemBrushes.ActiveCaptionText, 20,20);
            }
        }

	[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
        protected override void WndProc(ref Message m) 
        {
            // Listen for operating system messages.
            switch (m.Msg)
            {
                // The WM_ACTIVATEAPP message occurs when the application
                // becomes the active application or becomes inactive.
                case WM_ACTIVATEAPP:

                    // The WParam value identifies what is occurring.
                    appActive = (((int)m.WParam != 0));

                    // Invalidate to get new text painted.
                    this.Invalidate();

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

.NET Framework
Verfügbar seit 1.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: