Tk_Grab
Tk_Grab(3) Tk Library Procedures Tk_Grab(3)
______________________________________________________________________________
NAME
Tk_Grab, Tk_Ungrab - manipulate grab state in an application
SYNOPSIS
#include <tk.h>
int
Tk_Grab(interp, tkwin, grabGlobal)
void
Tk_Ungrab(tkwin)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter to use for error
reporting
Tk_Window tkwin (in) Window on whose behalf the
pointer is to be grabbed or
released
int grabGlobal (in) Boolean indicating whether
the grab is global or appli-
cation local
_________________________________________________________________
DESCRIPTION
These functions are used to set or release a global or application
local grab. When a grab is set on a particular window in a Tk applica-
tion, mouse and keyboard events can only be received by that window and
its descendants. Mouse and keyboard events for windows outside the
tree rooted at tkwin will be redirected to tkwin. If the grab is
global, then all mouse and keyboard events for windows outside the tree
rooted at tkwin (even those intended for windows in other applications)
will be redirected to tkwin. If the grab is application local, only
mouse and keyboard events intended for a windows within the same appli-
cation (but outside the tree rooted at tkwin) will be redirected.
Tk_Grab sets a grab on a particular window. Tkwin specifies the window
on whose behalf the pointer is to be grabbed. GrabGlobal indicates
whether the grab should be global or application local; if it is non-
zero, it means the grab should be global. Normally, Tk_Grab returns
TCL_OK; if an error occurs and the grab cannot be set, TCL_ERROR is
returned and an error message is left if interp's result. Once this
call completes successfully, no window outside the tree rooted at tkwin
will receive pointer- or keyboard-related events until the next call to
Tk_Ungrab. If a previous grab was in effect within the application,
then it is replaced with a new one.
Tcl_Ungrab releases a grab on the mouse pointer and keyboard, if there
is one set on the window given by tkwin. Once a grab is released,
pointer and keyboard events will start being delivered to other windows
again.
KEYWORDS
grab, window
Tk Tk_Grab(3)