[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'InterfaceBase' (#lcl)

TWidgetSet.PostMessage

Sends a message to a window, without waiting for the message result.

Declaration

Source position: winapih.inc line 215

public function TWidgetSet.PostMessage(

  Handle: HWND;

  Msg: Cardinal;

  WParam: WPARAM;

  LParam: LPARAM

):Boolean; virtual;

Arguments

Handle

  

The target window handle.

Msg

  

The message ID.

Function result

Zero on failure.

Description

Remark: This section was copied from LCLIntf, and may not apply to all platforms.

This method is a thread-safe solution to send messages to windows. Those messages will be handled in the message loop of the application and therefore can be sent from any thread. They are not immediate, but they will awake the main thread if it is waiting for messages.

These messages can be handled by procedures with the keyword message in the class of a form for example. One would then use the handle of this form as the Handle parameter of this routine.

Custom messages should always have an identification number (represented by the parameter Msg) larger then the constant LM_USER.

The two parameters WParam and LParam will be passed along to the window together with the Msg identification number.

The difference between SendMessage and PostMessage is the way that they return control to the calling thread. With SendMessage, control is not returned until target window has completed processing the message. With PostMessage, control is returned immediately.

See also

TWidgetSet.SendMessage

  

Sends a message to a window.


Version 4.0 Generated 2025-05-03 Home