Michael, thanks for the idea!
Unfortunately this does not work -- the callback is never called, even
if the app is sent WM_GETOBJECT messages.
But I found another promising approach -- swapping Tk's message handler
with my own handler:
import tkinter as tk
import win32gui
import win32con
root = tk.Tk()
button = tk.Button(root, text="close", command=root.destroy)
button.grid()
hwnd = root.winfo_id()
def new_wndproc(hWnd, msg, wParam, lParam):
if msg == win32con.WM_GETOBJECT:
print(hWnd, msg, wParam, lParam)
# forward message to original (Tk) handler
return win32gui.CallWindowProc(old_wndproc, hWnd, msg, wParam,
lParam)
# install new windows message handler
old_wndproc = win32gui.SetWindowLong(hwnd, win32con.GWL_WNDPROC,
new_wndproc)
root.mainloop()
I'll see where this road takes me.
Best regards,
Aivar
On 10.12.2019 13:11, Michael Lange wrote:
Hi,
On Tue, 10 Dec 2019 12:49:27 +0200
Aivar Annamaa <aivar.anna...@gmail.com> wrote:
Hi!
It looks like accessibility support in Tk won't happen
(https://core.tcl-lang.org/tk/tktview/deb6cddecf55c6921281f8f855b6b366aed6467e).
I'm wondering is it somehow possible to bolt on some accessibility
support at least on Windows.
It looks like the starting point is that the app should be able to
provide customized responses to WM_GETOBJECT messages. I didn't find
such name in Tk source code. Does it mean Tk event loop simply drops
these? Is it somehow possible to install an extra WM event handler to
catch these?
have you tried to do something like
def test():
print('hello')
root.wm_protocol('WM_GETOBJECT', test)
I have no idea what WM_GETOBJECT does and if there is any chance that
this will work, though :)
Regards
Michael
.-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-.
I realize that command does have its fascination, even under
circumstances such as these, but I neither enjoy the idea of command
nor am I frightened of it. It simply exists, and I will do whatever
logically needs to be done.
-- Spock, "The Galileo Seven", stardate 2812.7
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
https://mail.python.org/mailman/listinfo/tkinter-discuss
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
https://mail.python.org/mailman/listinfo/tkinter-discuss