Message passing functions
[Message functions]

Data Structures

Defines

Typedefs

Functions


Define Documentation

#define PM_NOREMOVE   0x0000
See also:
PeekMessage PeekMessageEx

Definition at line 2202 of file window.h.

#define PM_NOYIELD   0x0002
See also:
PeekMessage PeekMessageEx PeekPostMessage

Definition at line 2216 of file window.h.

#define PM_REMOVE   0x0001
See also:
PeekMessage PeekMessageEx PeekPostMessage

Definition at line 2209 of file window.h.

Referenced by GetMessage().


Typedef Documentation

typedef struct _MSG MSG

The message structure.

See also:
GetMessage, PostMessage, Messages

Function Documentation

int BroadcastMessage ( int  iMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Broadcasts a message to all main window on the desktop.

This function posts the message specified by (iMsg, wParam, lParam) to all the main windows on the desktop.

Parameters:
iMsg The message identifier.
wParam The first parameter of the message.
lParam The second parameter of the message.
Returns:
0 if all OK, < 0 on error.
See also:
PostMessage
int DispatchMessage ( PMSG  pMsg  ) 

Dispatches a message to the window's callback procedure.

This function dispatches the message pointed to by pMsg to the target window's callback procedure.

Parameters:
pMsg The pointer to the message.
Returns:
The return value of the message handler.
See also:
GetMessage

Example:

/*
 * A typical message loop.
 */

    MSG Msg;
    MAINWINCREATE CreateInfo;
    HWND hMainWnd;

    InitCreateInfo (&CreateInfo);

    hMainWnd = CreateMainWindow (&CreateInfo);
    if (hMainWnd == HWND_INVALID)
        return -1;

    while (GetMessage (&Msg, hMainWnd)) {
        TranslateMessage (&Msg);
        DispatchMessage (&Msg);
    }
BOOL GetMessage ( PMSG  pMsg,
HWND  hMainWnd 
) [inline, static]

Gets a message from the message queue of a main window.

This function gets a message from the message queue of the main window hMainWnd, and returns until there is a message in the message queue.

Parameters:
pMsg Pointer to the result message.
hMainWnd Handle to the window.
Returns:
FALSE on MSG_QUIT have been found or on error, else gets a message.
See also:
HavePendingMessage, PostQuitMessage, MSG

Example:

/*
 * A typical message loop.
 */

    MSG Msg;
    MAINWINCREATE CreateInfo;
    HWND hMainWnd;

    InitCreateInfo (&CreateInfo);

    hMainWnd = CreateMainWindow (&CreateInfo);
    if (hMainWnd == HWND_INVALID)
        return -1;

    while (GetMessage (&Msg, hMainWnd)) {
        TranslateMessage (&Msg);
        DispatchMessage (&Msg);
    }

Definition at line 2267 of file window.h.

References PeekMessageEx(), PM_REMOVE, and TRUE.

BOOL HavePendingMessage ( HWND  hMainWnd  ) 

Checks if there is any pending message in the message queue of a main window.

This function checks whether there is any pending message in the message queue of the main window hMainWnd.

Parameters:
hMainWnd The handle to the main window.
Returns:
TRUE for pending message, FALSE for empty message queue.
See also:
GetMessage, MSG
BOOL PeekMessage ( PMSG  pMsg,
HWND  hWnd,
int  iMsgFilterMin,
int  iMsgFilterMax,
UINT  uRemoveMsg 
) [inline, static]

Peeks a message from the message queue of a main window.

This functions peek a message from the message queue of the window hWnd and returns immediatly. Unlike GetMessage, this function does not wait for a message.

Parameters:
pMsg Pointer to the result message.
hWnd The handle to the window.
iMsgFilterMin The min identifier of the message that should be peeked.
iMsgFilterMax The max identifier of the message that should be peeked.
uRemoveMsg Whether remove the message from the message queue. Should be the following values:

  • PM_NOREMOVE
    Leave it in the message queue.
  • PM_REMOVE Remove it from the message queue.
  • PM_NOYIELD Nouse now.
Returns:
TRUE if there is a message peeked, or FALSE.
See also:
GetMessage, PeekPostMessage, HavePendingMessage, PostMessage

Definition at line 2332 of file window.h.

References FALSE, and PeekMessageEx().

BOOL PeekMessageEx ( PMSG  pMsg,
HWND  hWnd,
int  iMsgFilterMin,
int  iMsgFilterMax,
BOOL  bWait,
UINT  uRemoveMsg 
)

Peeks a message from the message queue of a main window.

This functions peek a message from the message queue of the window hWnd; if bWait is TRUE, it will wait for the message, else return immediatly.

Parameters:
pMsg Pointer to the result message.
hWnd The handle to the window.
iMsgFilterMin The min identifier of the message that should be peeked.
iMsgFilterMax The max identifier of the message that should be peeked.
bWait Whether to wait for a message.
uRemoveMsg Whether remove the message from the message queue. Should be the following values:

  • PM_NOREMOVE
    Leave it in the message queue.
  • PM_REMOVE Remove it from the message queue.
  • PM_NOYIELD Nouse now.
Returns:
TRUE if there is a message peeked, or FALSE.
See also:
GetMessage, PeekPostMessage, HavePendingMessage, PostMessage

Referenced by GetMessage(), and PeekMessage().

BOOL PeekPostMessage ( PMSG  pMsg,
HWND  hWnd,
int  iMsgFilterMin,
int  iMsgFilterMax,
UINT  uRemoveMsg 
)

Peeks a post message from the message queue of a main window.

This functions peek a message from the message queue of the window hWnd and returns immediatly. Unlike PeekMessage, this function only peek a post message.

Parameters:
pMsg Pointer to the result message.
hWnd The handle to the window.
iMsgFilterMin The min identifier of the message that should be peeked.
iMsgFilterMax The max identifier of the message that should be peeked.
uRemoveMsg Whether remove the message from the message queue. Should be the following values:

  • PM_NOREMOVE
    Leave it in the message queue.
  • PM_REMOVE Remove it from the message queue.
  • PM_NOYIELD Nouse now.
Returns:
TRUE if there is a message peeked, or FALSE.
See also:
GetMessage, PeekMessage, HavePendingMessage, PostMessage
int PostMessage ( HWND  hWnd,
int  iMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Posts a message into the message queue of a window and returns immediatly.

This functions posts a message into the message queue of the window hWnd and returns immediately.

Parameters:
hWnd The handle to the window.
iMsg The identifier of the message.
wParam The first parameter of the message.
lParam The second parameter of the message.
Returns:
ERR_OK on success, < 0 on errors.
Return values:
ERR_OK Post message successfully.
ERR_QUEUE_FULL The message queue is full.
ERR_INV_HWND Invalid window handle.
See also:
SendMessage
int PostQuitMessage ( HWND  hWnd  ) 

Puts a MSG_QUIT message into the message queue of a main window.

This function puts a MSG_QUIT message into the message queue of the main window hWnd. The next call to GetMessage will return 0.

Parameters:
hWnd The handle to the main window.
Returns:
0 if all OK, < 0 on error.
See also:
GetMessage
int PostSyncMessage ( HWND  hWnd,
int  iMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Posts a synchronical message to a window which is in different thread.

This function posts the synchronical message specified by (iMsg, wParam, lParam) to the window hWnd which is in different thread. This function will return until the message is handled by the window procedure.

Note:
The destination window must belong to other thread.
Parameters:
hWnd The handle to the window.
iMsg The message identifier.
wParam The first parameter of the message.
lParam The second parameter of the message.
Returns:
The return value of the message handler.
See also:
SendMessage
int SendAsyncMessage ( HWND  hWnd,
int  iMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Sends an asynchronical message to a window.

This function sends the asynchronical message specified by (iMsg, wParam, lParam) to the window hWnd which is in different thread. This function calls the window procedure immediately, so it is very dangerous.

Parameters:
hWnd The handle to the window.
iMsg The message identifier.
wParam The first parameter of the message.
lParam The second parameter of the message.
Returns:
The return value of the message handler.
Note:
This function may corrupt your data.
See also:
PostSyncMessage
int SendMessage ( HWND  hWnd,
int  iMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Sends a message to a window.

This function sends a message to the window hWnd, and will return until the message-handling process returns.

Parameters:
hWnd The handle to the window.
iMsg The identifier of the message.
wParam The first parameter of the message.
lParam The second parameter of the message.
Returns:
The return value of the message handler.
See also:
PostMessage
int SendNotifyMessage ( HWND  hWnd,
int  iMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Sends a notification message to a window.

This function sends the notification message specified by (iMsg, wParam, lParam) to the window hWnd. This function puts the notication message in the message queue and then returns immediately.

Parameters:
hWnd The handle to the window.
iMsg The message identifier.
wParam The first parameter of the message.
lParam The second parameter of the message.
Returns:
0 if all OK, < 0 on error.
See also:
SendMessage, PostMessage
void GUIAPI SetAutoRepeatMessage ( HWND  hwnd,
int  msg,
WPARAM  wParam,
LPARAM  lParam 
)

Sets the auto-repeat message.

This function sets the auto-repeat message. When the default message procedure receives an MSG_IDLE message, the default handler will send the auto-repeat message to the target window as a notification message.

Parameters:
hwnd The handle to the target window. Set it to zero to disable the auto-repeat message.
msg The identifier of the auto-repeat message.
wParam The first parameter of the auto-repeat message.
lParam The second parameter of the auto-repeat message.
BOOL SetKeyboardLayout ( const char *  kbd_layout  ) 

Sets a new keyboard layout.

This function sets the keymaps to translate key scancodes to MSG_CHAR or MSG_KEYSYM messages. The default keymaps is for US PC keyboard layout, you can call this function to set a different keyboard layout. The argument of kbd_layout specifies the name of the keyboard layout.

Parameters:
kbd_layout The keyboard layout name. It can be one of the following values:
  • KBD_LAYOUT_DEFAULT
    The default keyboard layout, i.e., US PC.
  • KBD_LAYOUT_FRPC
    The France PC keyboard layout.
  • KBD_LAYOUT_FR
    The France keyboard layout.
  • KBD_LAYOUT_DE
    The German keyboard layout.
  • KBD_LAYOUT_DELATIN1
    The German Latin1 keyboard layout.
  • KBD_LAYOUT_IT
    The Italian keyboard layout.
  • KBD_LAYOUT_ES
    The Spanish keyboard layout.
  • KBD_LAYOUT_ESCP850
    The Spanish CP850 keyboard layout.
  • KBD_LAYOUT_HEBREW
    The hebrew keyboard layout.
  • KBD_LAYOUT_ARABIC
    The arabic keyboard layout.
Returns:
TRUE for success, otherwise FALSE.
See also:
TranslateMessage, MSG_CHAR, MSG_KEYSYM
int ThrowAwayMessages ( HWND  pMainWnd  ) 

Removes all messages in the message queue associated with a window.

This function removes all messages which are associated with the specified window pMainWnd.

Parameters:
pMainWnd The handle to the window.
Returns:
The number of thrown messages.
See also:
EmptyMessageQueue
BOOL GUIAPI TranslateKeyMsgToChar ( int  message,
WPARAM  wParam,
LPARAM  lParam,
WORD ch 
)

Translates a key down and key up message to a corresponding character.

This function translates a key down and key up message to a character. If the message is not a key message, this function does nothing.

The behavior of this function is inflected by the current keyboard layout. The default keyboard layout is US PC keyboard, but you can call SetKeyboardLayout function to set a different keyboard layout.

Parameters:
message The type of message.
wParam Message parameter.
lParam Message parameter.
ch A string buffer for storing translated characters.
Returns:
A boolean indicates whether the message is a key message.
See also:
TranslateMessage
BOOL TranslateMessage ( PMSG  pMsg  ) 

Translates key down and key up messages to MSG_CHAR message and post it into the message queue.

This function translates key down and key up message to an MSG_CHAR message or some MSG_KEYSYM messages, and send the message(s) to the window procedure as a notification message. If the message is not a key message, this function does nothing.

The behavior of this function is inflected by the current keyboard layout. The default keyboard layout is US PC keyboard, but you can call SetKeyboardLayout function to set a different keyboard layout.

Parameters:
pMsg The pointer of message.
Returns:
A boolean indicates whether the message is a key message.
See also:
SetKeyboardLayout, MSG_CHAR, MSG_KEYSYM
BOOL WaitMessage ( PMSG  pMsg,
HWND  hMainWnd 
)

Waits for a message from the message queue of a main window.

This function waits for a message from the message queue of the main window hMainWnd, and returns until there is a message in the message queue. Unlike GetMessage, this function does not remove the message from the message queue.

Parameters:
pMsg Pointer to the result message.
hMainWnd Handle to the window.
Returns:
0 on MSG_QUIT have been found, else gets a message.
See also:
HavePendingMessage, PostQuitMessage, MSG
Generated on Thu Apr 7 15:58:40 2011 for MiniGUI V3.0.12 API Reference by  doxygen 1.6.3