MessageWindow クラス
アセンブリ: Microsoft.WindowsCE.Forms (microsoft.windowsce.forms.dll 内)

Public Class MessageWindow Implements IDisposable
public class MessageWindow : IDisposable
public ref class MessageWindow : IDisposable
public class MessageWindow implements IDisposable
public class MessageWindow implements IDisposable

MessageWindow クラスによって、Windows ベースのメッセージを送受信できるようにします。ネイティブ コードでウィンドウ ハンドルを作成し、必要なネイティブ Windows 関数のプラットフォーム呼び出しを実行します。
プログラムで MessageWindow を使用するには、MessageWindow から派生するクラスを作成し、既定の WndProc をオーバーライドして、特定のウィンドウ メッセージをウォッチします。Message クラスを使用して、メッセージを生成できます。MessageWindow を使用して生成するか、またはネイティブ コントロールを使用する Windows ベースのメッセージだけを受信できます。
このクラスを使用するには、Visual Studio 2005 プロジェクトへの参照を Microsoft.WindowsCE.Forms 名前空間に追加する必要があります。

フォームから現在のマウスの x 座標と y 座標の Windows ベースのメッセージをメッセージ ウィンドウに送信させ、コールバック メソッドを呼び出し、タイトル バーに座標を表示する MessageWindow のコード例を次に示します。
フォームには、MessageWindow から派生したカスタム クラス MsgWindow が格納されています。MsgWindow クラスは、WM_CUSTOMMSG 識別子を含むメッセージを検索して、オーバーライドされた WndProc メソッドのメッセージを検査します。これらのメッセージを見つけると、フォームで定義された RespondToMessage コールバック メソッドを呼び出します。
フォームは、MsgWindow の新しいインスタンスを作成します。MsgWindow コンストラクタはフォームを受け取ります。この例では、格納しているフォームです。フォームは、OnMouseMove メソッドのオーバーライドで Windows ベースのメッセージを生成します。
フォームの実行時にマウスを移動すると、メッセージ ウィンドウにメッセージが生成されます。メッセージ ウィンドウの WndProc メソッドがフォームのコールバック メソッドを呼び出し、コールバック メソッドがメッセージに応答します。
Microsoft.WindowsCE.Forms への参照をプロジェクトに追加する必要があることに注意してください。
Imports System Imports System.Windows.Forms Imports Microsoft.WindowsCE.Forms Public Class 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 Public Sub New() InitializeComponent() ' Create the message window using this form for its constructor. Me.MsgWin = New MsgWindow(Me) End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) MyBase.Dispose(disposing) End Sub #Region "Windows Form Designer generated code" Private Sub InitializeComponent() Me.mainMenu1 = New System.Windows.Forms.MainMenu ' ' MessageWindowForm ' Me.Menu = Me.mainMenu1 Me.Text = "Message Window Test" End Sub #End Region Shared Sub Main() Application.Run(New MessageWindowForm) End Sub ' Process taps to generate messages ' with the WParam and LParam parameters ' using the X and Y mouse coordinates. Protected Overrides Sub 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) End Sub ' This callback method responds to the Windows-based message. Public Sub RespondToMessage(ByVal x As Integer, ByVal y As Integer) Me.Text = "X = " + x.ToString() + ", Y= " + y.ToString() End Sub End Class ' Derive MessageWindow to respond to ' Windows messages and to notify the ' form when they are received. Public Class MsgWindow Inherits MessageWindow ' Assign integers to messages. ' Note that custom Window messages start at WM_USER = 0x400. Public Const WM_CUSTOMMSG As Integer = &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. Public Sub New(ByVal msgform As MessageWindowForm) Me.msgform = msgform End Sub ' Override the default WndProc behavior to examine messages. Protected Overrides Sub WndProc(ByRef msg As Microsoft.WindowsCE.Forms.Message) Select Case 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)) End Select ' Call the base class WndProc method ' to process any messages not handled. MyBase.WndProc(msg) End Sub End Class
using System; using System.Windows.Forms; using Microsoft.WindowsCE.Forms; namespace MsgWindow { public class 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); } protected override void Dispose( bool disposing ) { base.Dispose( disposing ); } #region Windows Form Designer generated code private void InitializeComponent() { this.mainMenu1 = new System.Windows.Forms.MainMenu(); this.Menu = this.mainMenu1; this.Text = "Message Window Test"; } #endregion static void Main() { Application.Run(new MessageWindowForm()); } // Process taps to generate messages // with the WParam and LParam parameters // using the X and Y mouse coordinates. protected override void 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. public void 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. public class MsgWindow : MessageWindow { // Assign integers to messages. // Note that custom Window messages start at WM_USER = 0x400. public const int 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. protected override void 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); } } }

Microsoft.WindowsCE.Forms.MessageWindow


Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MessageWindow コンストラクタ
アセンブリ: Microsoft.WindowsCE.Forms (microsoft.windowsce.forms.dll 内)


MessageWindow クラスを使用するには、このクラスからクラスを派生させます。通常、派生したクラスはコンストラクタのフォームを受け取ります。このフォームには、格納しているフォームまたはその他のフォームを指定できますが、常に、送信されたメッセージに応答するコールバック メソッドが含まれるフォームになります。


Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MessageWindow プロパティ
MessageWindow メソッド

名前 | 説明 | |
---|---|---|
![]() | Dispose | MessageWindow によって使用されているすべてのリソースを解放します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | PostMessage | メッセージ ウィンドウにメッセージを送信し、すぐに制御を戻します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | SendMessage | メッセージ ウィンドウにメッセージを送信し、WndProc メソッドがメッセージを処理するまで待機します。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | WndProc | Windows ベースのメッセージを処理します。 |

MessageWindow メンバ
Windows ベースのメッセージを送受信できるようにします。
MessageWindow データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Dispose | MessageWindow によって使用されているすべてのリソースを解放します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | PostMessage | メッセージ ウィンドウにメッセージを送信し、すぐに制御を戻します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | SendMessage | メッセージ ウィンドウにメッセージを送信し、WndProc メソッドがメッセージを処理するまで待機します。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | WndProc | Windows ベースのメッセージを処理します。 |

- MessageWindowのページへのリンク