MessageWindow-Klasse

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Bietet die Möglichkeit zum Senden und empfangen Windows-Meldungen.

Namespace:  Microsoft.WindowsCE.Forms
Assembly:  Microsoft.WindowsCE.Forms (in Microsoft.WindowsCE.Forms.dll)

Syntax

'Declaration
Public Class MessageWindow _
    Implements IDisposable
'Usage
Dim instance As MessageWindow
public class MessageWindow : IDisposable
public ref class MessageWindow : IDisposable
type MessageWindow =  
    class
        interface IDisposable
    end

Hinweise

MessageWindow-Klasse bietet die Möglichkeit zum Senden und empfangen Windows-Meldungen.Erstellt ein Fensterhandle im systemeigenen Code und führt die erforderlichen Plattformaufrufe systemeigener Windows-Funktionen.

MessageWindow in Ihrem Programm, das Sie eine von MessageWindow abgeleitete Klasse erstellen müssen und das Standardverhalten WndProc bestimmte Windows-Meldungen überwacht überschreiben.Sie können Nachrichten mit Message Klasse generieren.Sie können nur die Windows-basierten Nachrichten empfangen, die mithilfe von MessageWindow oder mit einem systemeigenen Steuerelement generieren.

Zum Verwenden dieser Klasse müssen Sie einen Verweis auf den Namespace Visual Studio 2005 in Ihrem Projekt Microsoft.WindowsCE.Forms hinzufügen.

Topic Location
Gewusst wie: Verwenden der MessageWindow-Klasse .NET Compact Framework
Gewusst wie: Verwenden der MessageWindow-Klasse .NET Compact Framework
Gewusst wie: Verwenden der MessageWindow-Klasse .NET Compact Framework
SO WIRD'S GEMACHT: Verwenden der MessageWindow-Klasse dv_fxnetcf

Beispiele

Im folgenden Codebeispiel wird veranschaulicht MessageWindow, dass das Formular Windows-basierten Nachrichten von X-y-Koordinaten der aktuellen Maus an das Meldungsfenster zu senden, die die Callback-Methode für das Formular die Koordinaten in der Titelleiste anzeigen aufruft.

Das Formular enthält eine benutzerdefinierte Klasse MsgWindowMessageWindow abgeleitet.MsgWindow Klasse überprüft Nachrichten in der überschriebenen WndProc -Methode, Suchen nach Nachrichten mit einem Bezeichner WM_CUSTOMMSG.Wenn Sie diese Meldungen findet, ruft es die RespondToMessage Rückrufmethode im Formular definiert.

Das Formular erstellt eine neue Instanz der MsgWindow.Der MsgWindow Konstruktor nimmt ein Formular, das in diesem Beispiel das Formular enthalten ist.Das Formular generiert Windows-Meldungen in einer Überschreibung der OnMouseMove-Methode.

Wenn das Formular ausgeführt wird, generieren Mausbewegungen Nachrichten an das Nachrichtenfenster.Die Nachricht Fenster WndProc-Methode ruft die Rückrufmethode im Formular auf Nachrichten antwortet.

Beachten Sie, dass Sie einen Verweis zu Microsoft.WindowsCE.Forms zu Ihrem Projekt hinzufügen müssen.

Imports System
Imports System.Windows.Forms
Imports Microsoft.WindowsCE.Forms

PublicClass MessageWindowForm
 Inherits System.Windows.Forms.Form
 Private mainMenu1 As System.Windows.Forms.MainMenu

 ' Create an instance of MsgWindow, a derived MessageWindow class.Private MsgWin As MsgWindow

 PublicSubNew()

  InitializeComponent()

  ' Create the message window using this form for its constructor.Me.MsgWin = New MsgWindow(Me)
 EndSubProtectedOverloadsOverridesSub Dispose(ByVal disposing AsBoolean)
  MyBase.Dispose(disposing)
 EndSub
#Region "Windows Form Designer generated code"PrivateSub InitializeComponent()
  Me.mainMenu1 = New System.Windows.Forms.MainMenu
  '  ' MessageWindowForm  'Me.Menu = Me.mainMenu1
  Me.Text = "Message Window Test"EndSub
#End Region


 SharedSub Main()
   Application.Run(New MessageWindowForm)
 EndSub

 ' Process taps to generate messages ' with the WParam and LParam parameters ' using the X and Y mouse coordinates.ProtectedOverridesSub OnMouseMove(ByVal e As MouseEventArgs)
 Dim msg As Microsoft.WindowsCE.Forms.Message = _
  Microsoft.WindowsCE.Forms.Message.Create(MsgWin.Hwnd, _
    MsgWindow.WM_CUSTOMMSG, New IntPtr(e.X), New IntPtr(e.Y))
    MessageWindow.SendMessage(msg)
  MyBase.OnMouseMove(e)
 EndSub
 ' This callback method responds to the Windows-based message.PublicSub RespondToMessage(ByVal x AsInteger, ByVal y AsInteger)
  Me.Text = "X = " + x.ToString() + ", Y= " + y.ToString()
 EndSubEndClass
' Derive MessageWindow to respond to' Windows messages and to notify the' form when they are received.PublicClass MsgWindow
 Inherits MessageWindow
 ' Assign integers to messages. ' Note that custom Window messages start at WM_USER = 0x400.PublicConst WM_CUSTOMMSG AsInteger = &H400

 ' Create an instance of the form.Private msgform As MessageWindowForm

 ' Save a reference to the form so it can ' be notified when messages are received.PublicSubNew(ByVal msgform As MessageWindowForm)
  Me.msgform = msgform
 EndSub
' Override the default WndProc behavior to examine messages.ProtectedOverridesSub WndProc(ByRef msg As Microsoft.WindowsCE.Forms.Message)
  SelectCase msg.Msg
  ' If message is of interest, invoke the method on the form that  ' functions as a callback to perform actions in response to the message.Case WM_CUSTOMMSG
   Me.msgform.RespondToMessage(Fix(msg.WParam.ToInt32), Fix(msg.LParam.ToInt32))
  EndSelect
 ' Call the base class WndProc method ' to process any messages not handled.MyBase.WndProc(msg)
 EndSubEndClass
using System;
using System.Windows.Forms;
using Microsoft.WindowsCE.Forms;

namespace MsgWindow
{
publicclass MessageWindowForm : System.Windows.Forms.Form
{
 private System.Windows.Forms.MainMenu mainMenu1;

 // Create an instance of MsgWindow, a derived MessageWindow class.
 MsgWindow MsgWin;

 public MessageWindowForm()
 {

  InitializeComponent();

  // Create the message window using this form for its constructor.this.MsgWin = new MsgWindow(this);

  }
  protectedoverridevoid Dispose( bool disposing )
  {
   base.Dispose( disposing );
  }
  #region Windows Form Designer generated code
  privatevoid InitializeComponent()
  {
   this.mainMenu1 = new System.Windows.Forms.MainMenu();
   this.Menu = this.mainMenu1;
   this.Text = "Message Window Test";

  }
  #endregion

  staticvoid Main()
  {
   Application.Run(new MessageWindowForm());
  }

  // Process taps to generate messages// with the WParam and LParam parameters// using the X and Y mouse coordinates.protectedoverridevoid OnMouseMove(MouseEventArgs e)
  {
   Message msg = Message.Create(MsgWin.Hwnd,
    MsgWindow.WM_CUSTOMMSG,
    (IntPtr)e.X,
    (IntPtr)e.Y);
   MessageWindow.SendMessage(ref msg);
   base.OnMouseMove(e);
  }

  // This callback method responds to the Windows-based message.publicvoid RespondToMessage(int x, int y)
  {
   this.Text = "X = " + x.ToString() + ", Y= " + y.ToString();
  }
 }

 // Derive MessageWindow to respond to// Windows messages and to notify the// form when they are received.publicclass MsgWindow : MessageWindow
 {
  // Assign integers to messages.// Note that custom Window messages start at WM_USER = 0x400.publicconstint WM_CUSTOMMSG = 0x0400;


  // Create an instance of the form.private MessageWindowForm msgform;

  // Save a reference to the form so it can// be notified when messages are received.public MsgWindow(MessageWindowForm msgform)
  {
   this.msgform = msgform;
  }

  // Override the default WndProc behavior to examine messages.protectedoverridevoid WndProc(ref Message msg)
  {
   switch(msg.Msg)
   {
    // If message is of interest, invoke the method on the form that// functions as a callback to perform actions in response to the message.case WM_CUSTOMMSG:
     this.msgform.RespondToMessage((int)msg.WParam, (int)msg.LParam);
     break;
   }
   // Call the base WndProc method// to process any messages not handled.base.WndProc(ref msg);
  }
 }
}

Vererbungshierarchie

System.Object
  Microsoft.WindowsCE.Forms.MessageWindow

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC

Die .NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET framework.

Versionsinformationen

.NET Compact Framework

Unterstützt in: 3.5, 2.0, 1.0

Siehe auch

Referenz

Member MessageWindow

Microsoft.WindowsCE.Forms-Namespace