Hi, Lispers
I have a question regarding keyboard event handling on ACL for
Windows 3.0.2 -- sorry for using such old version, but we must
maintain some past program.
I would like to know that how the window which has some sub-sindow
can catch keyboard events.
Suppose that we have window classes as follows,
(defclass my-window (non-refreshing-window) ())
(defclass my-pane (non-refreshing-pane) ())
(defmethod default-pane-class ((window my-window)) 'my-pane)
and we define event handlers for the instances of them like follows.
(defmethod event ((pane my-pane)
(message (eql mouse-left-down))
button position time)
...)
(defmethod event ((pane my-pane)
(message (eql virtual-key-down))
button
(data (eql pc:vk-control))
time)
...)
If MY-PANE has no sub-window, each handler will be called on
the corresponding event. But if it has one, the latter handler
for the virtual-key-down event is not be called.
Is the phenomenon specification or a bug ?
Are there any methods or work-arounds for catching the event ?
I would appreciate any suggestions or comments. Thanks.
Nobuhiko Funato
······@m_b_e.s_p_h_e_r_e.n_e.j_p (remove '_' for my real address)
"Nobuhiko Funato" <········@m_b_e.s_p_h_e_r_e.n_e.j_p> wrote:
>Hi, Lispers
>
> ...)
....
>If MY-PANE has no sub-window, each handler will be called on
>the corresponding event. But if it has one, the latter handler
>for the virtual-key-down event is not be called.
>
>Is the phenomenon specification or a bug ?
A good question :-)
>Are there any methods or work-arounds for catching the event ?
>
>I would appreciate any suggestions or comments. Thanks.
This could be enough for what you want to do:
- make the two pane classes inherit from a XXX pane class
- define the virtual-key-down event method on this XXX pane class
>Nobuhiko Funato
>······@m_b_e.s_p_h_e_r_e.n_e.j_p (remove '_' for my real address)
>
--
Francis Leboutte
··········@skynet.be http://users.skynet.be/algo