Purpose |
In a Callback Function, return the window handle of the caller. CBHNDL has been superceded by the CB Callback functions, although CBHNDL remains supported for a limited period. Existing code should be converted to the new syntax as soon as possible. |
Syntax |
WindowHandle??? = CBHNDL |
Remarks |
When a user clicks on a button, types into a text box, or generally
interacts with any
CBHNDL will also return the window handle for all other types of messages that flow through dialog callback functions. For example, %WM_PAINT, %WM_INITDIALOG, etc. As it is possible to share a control callback function with multiple controls, it is also possible to share a dialog callback function with multiple dialogs. In such cases, CBHNDL can be used to make a clear distinction between each dialog. If we consider a conventional callback procedure definition: FUNCTION DlgCallback(BYVAL hDlg???, BYVAL wMsg&, BYVAL wParam&, BYVAL lParam&) _ EXPORT AS LONG The handle is sent to the callback as the hDlg??? parameter. hDlg may be a Long-integer or Double-word variable (i.e., hDlg& or hDlg???), but a Double-word variable is recommended. |
Restrictions |
This function is only valid inside a Callback Function. |
See also |
|
Example |
CALLBACK FUNCTION DlgCallback() AS LONG SELECT CASE CBMSG ' CBMSG holds the message CASE %WM_SYSCOMMAND ' CBHNDL is dialog handle here CASE %WM_COMMAND ' CBCTL is the control ID here ' CBCTLMSG is the notification message ... END SELECT END FUNCTION |