1. Win32Lib: Keypress Issue
- Posted by cklester <cklester at yahoo.com> Aug 06, 2004
- 397 views
Derek, anything wrong with this code? 'cuz it ain't workin'. (I've thrown the win_FullScreen up for display from another window (win_Main), and now I want to press ESC to make it go away.) procedure win_FullScreen_onKeyPress (integer self, integer event, sequence params)--params is ( int keyCode, int shift ) if params[1] = VK_ESCAPE and fullScreenView then fullScreenView = w32False closeWindow( win_FullScreen ) end if end procedure setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) -=ck "Programming in a state of EUPHORIA." http://www.cklester.com/euphoria/
2. Re: Win32Lib: Keypress Issue
- Posted by Derek Parnell <ddparnell at bigpond.com> Aug 06, 2004
- 421 views
cklester wrote: > > Derek, anything wrong with this code? 'cuz it ain't workin'. (I've > thrown the win_FullScreen up for display from another window > (win_Main), and now I want to press ESC to make it go away.) > > procedure win_FullScreen_onKeyPress (integer self, integer event, sequence > params)--params > is ( int keyCode, int shift ) > if params[1] = VK_ESCAPE and fullScreenView then > fullScreenView = w32False > closeWindow( win_FullScreen ) > end if > end procedure > setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) > The code looks fine (and works here) so I guess the 'fullScreenView' is not being set correctly or is being set to w32False somewhere else. Here is the code I used to test it...
without warning include win32lib.ew integer fullScreenView fullScreenView = w32False constant mw = create(Window, "Main", 0, 0, 0, 100, 100, 0) constant win_FullScreen = create(Window, "FULL", 0, 200, 200, 400, 400, 0) procedure win_FullScreen_onKeyPress (integer self, integer event, sequence params)--params is ( int keyCode, int shift ) if params[1] = VK_ESCAPE then if fullScreenView = w32True then closeWindow( win_FullScreen ) else openWindow(win_FullScreen, Normal) end if end if end procedure setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) procedure win_FullScreen_onActivate (integer self, integer event, sequence params) fullScreenView = w32True end procedure setHandler( win_FullScreen, w32HActivate, routine_id("win_FullScreen_onActivate")) procedure win_FullScreen_onClose(integer self, integer event, sequence params) fullScreenView = w32False end procedure setHandler( win_FullScreen, w32HClose, routine_id("win_FullScreen_onClose")) openWindow(win_FullScreen, Normal) WinMain(mw, Normal)
-- Derek Parnell Melbourne, Australia
3. Re: Win32Lib: Keypress Issue
- Posted by Patrick Barnes <mrtrick at gmail.com> Aug 06, 2004
- 406 views
Escape isn't a printable key, so onKeyPress doesn't catch it. Try onKeyDown instead... On Thu, 05 Aug 2004 21:46:08 -0700, cklester <guest at rapideuphoria.com> wrote: > > posted by: cklester <cklester at yahoo.com> > > Derek, anything wrong with this code? 'cuz it ain't workin'. (I've > thrown the win_FullScreen up for display from another window > (win_Main), and now I want to press ESC to make it go away.) > > procedure win_FullScreen_onKeyPress (integer self, integer event, sequence > params)--params is ( int keyCode, int shift ) > if params[1] = VK_ESCAPE and fullScreenView then > fullScreenView = w32False > closeWindow( win_FullScreen ) > end if > end procedure > setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) > > -=ck > "Programming in a state of EUPHORIA." > http://www.cklester.com/euphoria/ > > > > -- MrTrick
4. Re: Win32Lib: Keypress Issue
- Posted by cklester <cklester at yahoo.com> Aug 06, 2004
- 395 views
Derek Parnell wrote: > > cklester wrote: > > > > Derek, anything wrong with this code? 'cuz it ain't workin'. (I've > > thrown the win_FullScreen up for display from another window > > (win_Main), and now I want to press ESC to make it go away.) > > > > procedure win_FullScreen_onKeyPress (integer self, integer event, sequence > > params)--params > > is ( int keyCode, int shift ) > > if params[1] = VK_ESCAPE and fullScreenView then > > fullScreenView = w32False > > closeWindow( win_FullScreen ) > > end if > > end procedure > > setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) > > > > The code looks fine (and works here) so I guess the 'fullScreenView' is > not being set correctly or is being set to w32False somewhere else. I verified that fullScreenView is being set properly. I even used this: > > if params[1] = VK_ESCAPE and w32True then but it still doesn't work! > Here is the code I used to test it... Your code works, of course... :/ :) -=ck "Programming in a state of EUPHORIA." http://www.cklester.com/euphoria/
5. Re: Win32Lib: Keypress Issue
- Posted by cklester <cklester at yahoo.com> Aug 06, 2004
- 395 views
Patrick Barnes wrote: > > Escape isn't a printable key, so onKeyPress doesn't catch it. Try > onKeyDown instead... Hey, Patrick, Derek's example uses onKeyPress and works... grrrr. -=ck "Programming in a state of EUPHORIA." http://www.cklester.com/euphoria/
6. Re: Win32Lib: Keypress Issue
- Posted by cklester <cklester at yahoo.com> Aug 06, 2004
- 394 views
Derek Parnell wrote: > > cklester wrote: > > > > Derek, anything wrong with this code? 'cuz it ain't workin'. (I've > > thrown the win_FullScreen up for display from another window > > (win_Main), and now I want to press ESC to make it go away.) > > > The code looks fine (and works here) so I guess the 'fullScreenView' is > not being set correctly or is being set to w32False somewhere else. Maybe I should get the latest patch to Win32Lib? :) -=ck "Programming in a state of EUPHORIA." http://www.cklester.com/euphoria/
7. Re: Win32Lib: Keypress Issue
- Posted by cklester <cklester at yahoo.com> Aug 06, 2004
- 404 views
Derek Parnell wrote: > > procedure win_FullScreen_onKeyPress (integer self, integer event, sequence > > params)--params > > is ( int keyCode, int shift ) > > if params[1] = VK_ESCAPE and fullScreenView then > > fullScreenView = w32False > > closeWindow( win_FullScreen ) > > end if > > end procedure > > setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) Derek, I was using showWindow() instead of openWindow(). Why does that make a difference? A menu click was setting fullScreenView to w32True, then triggered showWindow() for the fullScreenView. Is that why the Screen wasn't receiving my ESC press? -=ck "Programming in a state of EUPHORIA." http://www.cklester.com/euphoria/
8. Re: Win32Lib: Keypress Issue
- Posted by Derek Parnell <ddparnell at bigpond.com> Aug 06, 2004
- 394 views
cklester wrote: > > Derek Parnell wrote: > > > > procedure win_FullScreen_onKeyPress (integer self, integer event, sequence > > > params)--params > > > is ( int keyCode, int shift ) > > > if params[1] = VK_ESCAPE and fullScreenView then > > > fullScreenView = w32False > > > closeWindow( win_FullScreen ) > > > end if > > > end procedure > > > setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) > > Derek, I was using showWindow() instead of openWindow(). Why does > that make a difference? It doesn't, for this exercise. See example code below. > A menu click was setting fullScreenView to w32True, then > triggered showWindow() for the fullScreenView. Is that why > the Screen wasn't receiving my ESC press? Are you sure the menu click is actually firing?
without warning include win32lib.ew integer fullScreenView fullScreenView = w32False constant mw = create(Window, "Main", 0, 0, 0, 100, 100, 0) constant win_FullScreen = create(Window, "FULL", 0, 200, 200, 400, 400, 0) procedure win_FullScreen_onKeyPress (integer self, integer event, sequence params) if params[1] = VK_ESCAPE then fullScreenView = (not fullScreenView) showWindow( win_FullScreen, fullScreenView ) end if end procedure setHandler( Screen, w32HKeyPress, routine_id("win_FullScreen_onKeyPress")) WinMain(mw, Normal)
-- Derek Parnell Melbourne, Australia
9. Re: Win32Lib: Keypress Issue
- Posted by cklester <cklester at yahoo.com> Aug 06, 2004
- 383 views
Derek Parnell wrote: > > > Derek, I was using showWindow() instead of openWindow(). Why does > > that make a difference? > > It doesn't, for this exercise. See example code below. > > > A menu click was setting fullScreenView to w32True, then > > triggered showWindow() for the fullScreenView. Is that why > > the Screen wasn't receiving my ESC press? > > Are you sure the menu click is actually firing? Well, I figure the win_FullScreen wouldn't display unless the menu item fired... because that's the only place it's called to open. Besides, IIRC, changing the showWindow() to openWindow() suddenly caused it to start working. :) -=ck "Programming in a state of EUPHORIA." http://www.cklester.com/euphoria/