Message::WParam Property


Gets or sets the WParam field of the message.

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

property IntPtr WParam {
	IntPtr get();
	void set(IntPtr value);

Property Value

Type: System::IntPtr

The WParam field of the message.

The value of this field depends on the message. Use the WParam field to get information that is important to handling the message. This field is typically used to store small pieces of information, such as flags.

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

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

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

      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 );
            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.
         Form::WndProc( m );



int main()
   Application::Run( gcnew csTempWindowsApplication1::Form1 );

.NET Framework
Available since 1.1
Return to top