Message::Msg Property

 

Gets or sets the ID number for the message.

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

public:
property int Msg {
	int get();
	void set(int value);
}

Property Value

Type: System::Int32

The ID number for the message.

The following code example demonstrates overriding the WndProc method to handle operating system messages identified in the Message. The WM_ACTIVATEAPP operating system message is handled in this example to know when another application is becoming active. For information about the available Message::Msg, Message::LParam, and Message::WParam values, see the MSG Structure documentation. For information about the actual constant values, see Message Constants.

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
using namespace System::Security::Permissions;

namespace csTempWindowsApplication1
{
   public ref class Form1: public System::Windows::Forms::Form
   {
   private:

      // Constant value was found in the "windows.h" header file.
      static const Int32 WM_ACTIVATEAPP = 0x001C;
      Boolean appActive;

   public:
      Form1()
      {
         appActive = true;
         this->Size = System::Drawing::Size( 300, 300 );
         this->Text = "Form1";
         this->Font = gcnew System::Drawing::Font( "Microsoft Sans Serif",18.0F,System::Drawing::FontStyle::Bold,System::Drawing::GraphicsUnit::Point,((System::Byte)(0)) );
      }


   protected:
      virtual void OnPaint( PaintEventArgs^ e ) override
      {

         // 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 );
         }
      }


      [SecurityPermission(SecurityAction::Demand, Flags=SecurityPermissionFlag::UnmanagedCode)]
      virtual void WndProc( Message% m ) override
      {

         // Listen for operating system messages.
         switch ( m.Msg )
         {
            case WM_ACTIVATEAPP:

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

               // Invalidate to get new text painted.
               this->Invalidate();
               break;
         }
         Form::WndProc( m );
      }

   };

}


[STAThread]
int main()
{
   Application::Run( gcnew csTempWindowsApplication1::Form1 );
}

.NET Framework
Available since 1.1
Return to top
Show: