| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- //
- // System.Drawing.Message.cs
- //
- // Author:
- // Dennis Hayes ([email protected])
- //
- // (C) 2002 Ximian, Inc. http://www.ximian.com
- //
- //TODO uncomment and implment GetLParam.
- using System;
- namespace System.Windows.Forms {
- [Serializable]
- public struct Message {
- private int msg;
- private IntPtr hwnd;
- private IntPtr lparam;
- private IntPtr wparam;
- private IntPtr result;
- // -----------------------
- // Public Shared Members
- // -----------------------
- /// <summary>
- /// Equality Operator
- /// </summary>
- ///
- /// <remarks>
- /// Compares two Message objects. The return value is
- /// based on the equivalence of the Msg, HWnd, LParam,
- /// WParam, and Result properties of the two objects.
- /// </remarks>
- public static bool operator == (Message msg_a,
- Message msg_b) {
- return ((msg_a.msg == msg_b.msg) &&
- (msg_a.hwnd == msg_b.hwnd) &&
- (msg_a.lparam == msg_b.lparam) &&
- (msg_a.wparam == msg_b.wparam) &&
- (msg_a.result == msg_b.result));
- }
-
- /// <summary>
- /// Inequality Operator
- /// </summary>
- ///
- /// <remarks>
- /// Compares two Message objects. The return value is
- /// based on the equivalence of the Msg, HWnd, LParam,
- /// WParam, and Result properties of the two objects.
- /// </remarks>
- public static bool operator != (Message msg_a,
- Message msg_b) {
- return ((msg_a.msg != msg_b.msg) ||
- (msg_a.hwnd != msg_b.hwnd) ||
- (msg_a.lparam != msg_b.lparam) ||
- (msg_a.wparam != msg_b.wparam) ||
- (msg_a.result != msg_b.result));
- }
-
- // -----------------------
- // Public Instance Members
- // -----------------------
- public int Msg {
- get{
- return msg;
- }
- set{
- msg = value;
- }
- }
- public IntPtr HWnd {
- get{
- return hwnd;
- }
- set{
- hwnd = value;
- }
- }
- public IntPtr LParam {
- get{
- return lparam;
- }
- set{
- lparam = value;
- }
- }
- public IntPtr WParam {
- get{
- return wparam;
- }
- set{
- wparam = value;
- }
- }
- public IntPtr Result {
- get{
- return result;
- }
- set{
- result = value;
- }
- }
- public static Message create(IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam)
- {
- Message NewMessage = new Message();
- NewMessage.msg = msg;
- NewMessage.wparam = wparam;
- NewMessage.lparam = lparam;
- NewMessage.hwnd = hWnd;
- return NewMessage;
- }
- /// <summary>
- /// Equals Method
- /// </summary>
- ///
- /// <remarks>
- /// Checks equivalence of this Message and another object.
- /// </remarks>
-
- public override bool Equals (object obj)
- {
- if (!(obj is Message))
- return false;
- return (this == (Message) obj);
- }
- /// <summary>
- /// GetHashCode Method
- /// </summary>
- ///
- /// <remarks>
- /// Calculates a hashing value.
- /// </remarks>
-
- public override int GetHashCode ()
- {
- return base.GetHashCode();// (int)( msg ^ lparam ^ wparam ^ result ^ whnd);
- }
- /// <summary>
- /// ToString Method
- /// </summary>
- ///
- /// <remarks>
- /// Formats the Message as a string.
- /// </remarks>
-
- public override string ToString ()
- {
- return String.Format ("[{0},{1},{2},{3},{4}]", msg.ToString(), lparam.ToString(), wparam.ToString(), result.ToString(), hwnd.ToString());
- }
- // public object GetLParam(Type cls){
- // // throw new NotImplementedException ();
- // //return (object) lparam;
- // }
- }
- }
|