GetEventID
Description
Returns the identifier of an event when the window’s parent is
notified that the event occurred.
Syntax
|
1 |
GetEventID(HWND hWnd, uint iMsg, WPARAM wParam, LPARAM lParam) |
|
Argument |
Description |
|---|---|
|
hWnd |
The handle of the parent window. |
|
iMsg |
The message sent to the parent. |
|
wParam |
The word parameter of the message. For
The low-order word specifies the For |
|
lParam |
The long parameter of the message. For For WM_NOTIFY, this |
Return value
Integer.
Examples
In this example, the GetEventID function returns the identifier
PB_BNCLICKED if a WM_COMMAND message with the notification code
BN_CLICKED was sent. It returns the identifier PB_ENCHANGE if a
WM_NOTIFY message was sent; otherwise it returns PB_NULL.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
TCHAR CVisualExt::s_className[] = "PBVisualExt"; LPCTSTR CVisualExt::GetWindowClassName() { return s_className; } HWND CVisualExt::CreateControl ( DWORD dwExStyle,// extended window style LPCTSTR lpWindowName,// window name DWORD dwStyle,// window style int x,// horizontal position of window int y, // vertical position of window int nWidth, // window width int nHeight, // window height HWND hWndParent, // handle of parent or owner window HINSTANCE hInstance// handle of application instance ) { d_hwnd = CreateWindowEx(dwExStyle, s_className, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, NULL, hInstance, NULL); ::SetWindowLong(d_hwnd, GWL_USERDATA, (LONG)this); return d_hwnd; } int CVisualExt::GetEventID( HWND hWnd, /* Handle of parent window */ UINT iMsg, /* Message sent to parent window*/ WPARAM wParam, /* Word parameter of message*/ LPARAM lParam /* Long parameter of message*/ ) { if (iMsg == WM_COMMAND) { if ((HWND)lParam == d_hwnd) { switch(HIWORD(wParam)) { case BN_CLICKED: return PB_BNCLICKED; break; } } } if (iMsg == WM_NOTIFY) { return PB_ENCHANGE; } return PB_NULL; } |
Usage
This function is used to process Windows messages, such as
WM_COMMAND and WM_NOTIFY, that are sent to the parent of an object and not
to the object itself. Such messages cannot be caught in the visual
extension’s window procedure. The PBVM calls GetEventID to process these
messages.
If the message is mapped to a PowerBuilder event,
GetEventID returns the event’s identifier, for example PB_BNCLICKED, and
the event is fired automatically. PowerBuilder event token identifiers
are mapped to unsigned integer values in the pbevtid.h header file. The
identifiers in pbevtid.h are associated with PowerBuilder event token
names. For example, the identifier PB_BNCLICKED is associated with the
token name pbm_bnclicked.
If the message is not mapped to an event, GetEventID returns the
value PB_NULL and the message is discarded.
See also