1. onEvent ??
- Posted by Bernie Ryan <bwryan at PCOM.NET> Jul 26, 1999
- 413 views
- Last edited Jul 27, 1999
David I am having trouble trying to figure out how you set the callback for winProc to monitor events on main window. I don't think that you automatically set it up in WinMain will you please tell me what I have to do; onEvent doesn't seem to work in the main window ?? Bernie
2. Re: onEvent ??
- Posted by David Cuny <dcuny at LANSET.COM> Jul 27, 1999
- 405 views
Bernie wrote: > I am having trouble trying to figure out how you set > the callback for winProc to monitor events on main > window. I don't think that you automatically set it up > in WinMain will you please tell me what I have to do; > onEvent doesn't seem to work in the main window ?? No, onEvent works for the main window. Perhaps a tour through how Win32Lib sets up the callbacks might clarify things. The variable WndProcAddress holds the address of the single callback that Win32Lib uses. It is assigned to windows is the createWindow() routine with this snippet of code: store( wndClassEx, winExProc, WndProcAddress ) It replaces the default handler for controls in: window_func[id] = c_func( xGetWindowLong, { window_handle[id], GWL_WndProc, WndProcAddress } ) The callback is assigned to a Euphoria routine in get_proc_address(), which assigns it to the WndProc routine. If you look at WndProc, the first thing it tries to do is find the window handle: id = find( myHwnd, window_handle ) A few steps later, it checks to see if you set the onEvent hook. (The test should actually read > -1, not > 0 ): if onEvent[ id ] > 0 then -- call routine call_proc( onEvent[id], { iMsg, wParam, lParam } ) end if The only Win32 controls that don't use this callback are Menu and MenuItem. For these, I trap the WM_COMMAND sent by Win32. In these cases, the menu id is passed in the wParam. -- David Cuny
3. Re: onEvent ??
- Posted by Bernie Ryan <bwryan at PCOM.NET> Jul 27, 1999
- 443 views
Thak You David Bernie