Intercepting events?
BlitzPlus Forums/BlitzPlus Programming/Intercepting events?
Has anyone ever done anything like intercepted events in Blitzplus before Blitzplus deals with them?
I thought someone had done this, or maybe intercepted keyboard input. I'm wondering if I could steal the ALT key from Blitz to keep it from using it to pause the app and activate the file menu.
Yes, it's possible.
You need to subclass controls. This can be achieved by using SetWindowLong and the GWL_WNDPROC index. You then create your own proc in C/C++ etc (or any dll capable language) and you can pick and choose what you want B+ to see/control etc.
Don't know if it would help, but could you kill the event by using PeekEvent to detect it, and then FlushEvents to kill it?
WolRon:
Doesn't work. And I can't make a DLL in C to do what Snarty suggests.
Setwindowlong is a user32.dll (I think) command. You can get a userlib in the userlibs section. MSDN library ought to have something on what it does.
just a thought from something i use try activating the main window:-
ActivateGadget mainwindow
i done something like this sometime back using win api's SetWindowsHookEx i used the WH_GETMESSAGE hook to hook blitzplus's messages. you might want to look into WH_KEYBOARD hook.
you could use the WH_CALLWNDPROC hook and grab all winproc messages before the system send's them to the destination window.
kev
Kev: That sounds great, all we need is someone clever enough to code and post it. Any takers?